#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
vec4 ImmCB_0[12];
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	mediump vec4 _AmbientOcclusionParam;
uniform 	vec4 _FPParams0;
uniform 	vec4 _FPParams1;
uniform 	vec4 _AdditionalLightsPosition[16];
uniform 	mediump vec4 _AdditionalLightsColor[16];
uniform 	mediump vec4 _AdditionalLightsAttenuation[16];
uniform 	mediump vec4 _AdditionalLightsSpotDir[16];
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ScreenParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_MatrixV[4];
uniform 	int _DebugMaterialMode;
uniform 	int _DebugMaterialValidationMode;
uniform 	int _DebugSceneOverrideMode;
uniform 	int _DebugLightingMode;
uniform 	int _DebugLightingFeatureFlags;
uniform 	mediump float _DebugValidateAlbedoMinLuminance;
uniform 	mediump float _DebugValidateAlbedoMaxLuminance;
uniform 	mediump float _DebugValidateAlbedoSaturationTolerance;
uniform 	mediump float _DebugValidateAlbedoHueTolerance;
uniform 	mediump vec3 _DebugValidateAlbedoCompareColor;
uniform 	mediump float _DebugValidateMetallicMinValue;
uniform 	mediump float _DebugValidateMetallicMaxValue;
uniform 	vec4 _DebugColor;
uniform 	vec4 _DebugColorInvalidMode;
uniform 	vec4 _DebugValidateBelowMinThresholdColor;
uniform 	vec4 _DebugValidateAboveMaxThresholdColor;
uniform 	vec4 _CascadeShadowSplitSpheres0;
uniform 	vec4 _CascadeShadowSplitSpheres1;
uniform 	vec4 _CascadeShadowSplitSpheres2;
uniform 	vec4 _CascadeShadowSplitSpheres3;
uniform 	vec4 _CascadeShadowSplitSphereRadii;
uniform 	vec4 _MainLightShadowOffset0;
uniform 	vec4 _MainLightShadowOffset1;
uniform 	vec4 _MainLightShadowParams;
uniform 	vec4 _MainLightShadowmapSize;
uniform 	vec4 _AdditionalShadowOffset0;
uniform 	vec4 _AdditionalShadowOffset1;
uniform 	vec4 _AdditionalShadowFadeParams;
uniform 	vec4 _AdditionalShadowmapSize;
uniform 	vec4 _AdditionalShadowParams[16];
uniform 	vec4 hlslcc_mtx4x4_AdditionalLightsWorldToShadow[64];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(0) uniform URP_ZBinBuffer {
#endif
	UNITY_UNIFORM vec4                URP_ZBins[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(1) uniform urp_TileBuffer {
#endif
	UNITY_UNIFORM vec4                urp_Tiles[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(2) uniform UnityPerDraw {
#endif
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_ObjectToWorld[4];
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_WorldToObject[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LODFade;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightData;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LightmapST;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	UNITY_UNIFORM mediump vec4                unity_SHAr;
	UNITY_UNIFORM mediump vec4                unity_SHAg;
	UNITY_UNIFORM mediump vec4                unity_SHAb;
	UNITY_UNIFORM mediump vec4                unity_SHBr;
	UNITY_UNIFORM mediump vec4                unity_SHBg;
	UNITY_UNIFORM mediump vec4                unity_SHBb;
	UNITY_UNIFORM mediump vec4                unity_SHC;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(3) uniform UnityPerMaterial {
#endif
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_CameraFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_BaseMap_ST;
	UNITY_UNIFORM mediump vec4                _BaseColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Smoothness;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionBlend;
	UNITY_UNIFORM mediump float                _Surface;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
UNITY_LOCATION(0) uniform mediump sampler2D _ScreenSpaceOcclusionTexture;
UNITY_LOCATION(1) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(3) uniform mediump sampler2D _AdditionalLightsShadowmapTexture;
UNITY_LOCATION(4) uniform mediump sampler2DShadow hlslcc_zcmp_AdditionalLightsShadowmapTexture;
UNITY_LOCATION(5) uniform mediump sampler2D _BaseMap;
in highp vec2 vs_TEXCOORD0;
in mediump vec4 vs_COLOR0;
in highp vec4 vs_TEXCOORD1;
in mediump vec3 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
vec3 u_xlat0;
mediump vec4 u_xlat16_0;
mediump vec4 u_xlat16_1;
vec4 u_xlat2;
bool u_xlatb2;
vec2 u_xlat3;
int u_xlati3;
uvec2 u_xlatu3;
vec4 u_xlat4;
mediump vec4 u_xlat16_4;
ivec4 u_xlati4;
uvec4 u_xlatu4;
bvec4 u_xlatb4;
vec4 u_xlat5;
mediump vec4 u_xlat16_5;
ivec4 u_xlati5;
uint u_xlatu5;
bvec4 u_xlatb5;
vec4 u_xlat6;
mediump vec4 u_xlat16_6;
ivec4 u_xlati6;
uvec4 u_xlatu6;
vec3 u_xlat7;
mediump vec4 u_xlat16_7;
ivec4 u_xlati7;
uint u_xlatu7;
bvec2 u_xlatb7;
vec3 u_xlat8;
mediump vec4 u_xlat16_8;
ivec2 u_xlati8;
bvec4 u_xlatb8;
vec3 u_xlat9;
mediump vec4 u_xlat16_9;
bvec4 u_xlatb9;
mediump vec3 u_xlat16_10;
vec3 u_xlat11;
mediump vec4 u_xlat16_11;
mediump vec3 u_xlat16_12;
mediump vec3 u_xlat16_13;
mediump vec4 u_xlat16_14;
mediump vec4 u_xlat16_15;
mediump vec4 u_xlat16_16;
mediump vec4 u_xlat16_17;
mediump vec4 u_xlat16_18;
mediump vec4 u_xlat16_19;
vec3 u_xlat20;
ivec3 u_xlati20;
uint u_xlatu20;
bool u_xlatb20;
vec3 u_xlat21;
ivec3 u_xlati21;
uint u_xlatu21;
vec3 u_xlat22;
mediump vec4 u_xlat16_22;
bvec4 u_xlatb22;
vec2 u_xlat23;
mediump vec4 u_xlat16_23;
bvec4 u_xlatb23;
mediump vec2 u_xlat16_24;
float u_xlat25;
mediump float u_xlat16_25;
mediump float u_xlat16_27;
float u_xlat29;
int u_xlati29;
uint u_xlatu29;
float u_xlat30;
ivec3 u_xlati30;
uint u_xlatu30;
bool u_xlatb30;
ivec2 u_xlati31;
uint u_xlatu31;
float u_xlat32;
int u_xlati32;
uint u_xlatu32;
float u_xlat33;
ivec2 u_xlati33;
bvec2 u_xlatb33;
float u_xlat38;
mediump vec3 u_xlat16_38;
vec3 u_xlat46;
ivec3 u_xlati46;
vec3 u_xlat47;
int u_xlati47;
bool u_xlatb47;
vec3 u_xlat48;
mediump float u_xlat16_48;
int u_xlati48;
bool u_xlatb48;
float u_xlat49;
mediump float u_xlat16_49;
float u_xlat51;
mediump float u_xlat16_51;
mediump float u_xlat16_53;
float u_xlat55;
mediump float u_xlat16_55;
int u_xlati55;
uint u_xlatu55;
bvec2 u_xlatb55;
float u_xlat56;
int u_xlati56;
uvec2 u_xlatu56;
ivec2 u_xlati57;
uint u_xlatu57;
ivec2 u_xlati58;
uint u_xlatu58;
bool u_xlatb59;
bool u_xlatb60;
mediump vec2 u_xlat16_62;
mediump vec2 u_xlat16_64;
mediump vec2 u_xlat16_65;
mediump vec2 u_xlat16_66;
mediump vec2 u_xlat16_67;
mediump vec2 u_xlat16_68;
mediump vec2 u_xlat16_69;
mediump vec2 u_xlat16_70;
ivec2 u_xlati72;
float u_xlat73;
int u_xlati73;
bool u_xlatb73;
float u_xlat74;
int u_xlati74;
bool u_xlatb74;
mediump vec2 u_xlat16_76;
float u_xlat80;
mediump float u_xlat16_80;
bool u_xlatb80;
int u_xlati81;
uint u_xlatu81;
bool u_xlatb81;
int u_xlati83;
float u_xlat84;
int u_xlati84;
uint u_xlatu84;
int u_xlati85;
bool u_xlatb85;
float u_xlat88;
mediump float u_xlat16_88;
mediump float u_xlat16_91;
int u_xlati98;
uint u_xlatu98;
float u_xlat99;
float u_xlat100;
vec4 TempArray0[18];
vec4 TempArray1[18];
vec4 TempArray2[18];
vec4 TempArray3[18];
vec4 TempArray4[18];
vec4 TempArray5[18];
int int_bitfieldExtract(int value, int offset, int bits) {
#if defined(GL_ES) && __VERSION__ <= 300
    return (bits == 0) ? 0 : (offset + bits < 32) ? ((value << (32 - bits - offset)) >> (32 - bits)) : (value >> offset);
#else
    return bitfieldExtract(value, offset, (offset + bits < 32) ? bits : (32 - offset));
#endif
}

int op_not(int value) { return -value - 1; }
ivec2 op_not(ivec2 a) { a.x = op_not(a.x); a.y = op_not(a.y); return a; }
ivec3 op_not(ivec3 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); return a; }
ivec4 op_not(ivec4 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); a.w = op_not(a.w); return a; }

int int_bitfieldInsert(int base, int insert, int offset, int bits) {
    uint mask = ~(uint(0xffffffffu) << uint(bits)) << uint(offset);
    return int((uint(base) & ~mask) | ((uint(insert) << uint(offset)) & mask));
}

void main()
{
ImmCB_0[0] = vec4(0.0,0.0,0.0,1.0);
ImmCB_0[1] = vec4(0.650980413,0.274509817,0.949019611,1.0);
ImmCB_0[2] = vec4(0.0,0.101960786,0.866666675,1.0);
ImmCB_0[3] = vec4(0.254901975,0.596078455,0.87843138,1.0);
ImmCB_0[4] = vec4(0.619607866,0.894117653,0.984313726,1.0);
ImmCB_0[5] = vec4(0.219607845,0.952941179,0.690196097,1.0);
ImmCB_0[6] = vec4(0.65882355,0.933333337,0.180392161,1.0);
ImmCB_0[7] = vec4(1.0,0.992156863,0.298039228,1.0);
ImmCB_0[8] = vec4(1.0,0.839215696,0.0,1.0);
ImmCB_0[9] = vec4(0.992156863,0.596078455,0.0,1.0);
ImmCB_0[10] = vec4(1.0,0.262745112,0.200000003,1.0);
ImmCB_0[11] = vec4(0.517647088,0.0392156877,0.211764708,1.0);
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_1 = u_xlat16_0.wxyz * vs_COLOR0.wxyz;
    u_xlat2.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat2.x = inversesqrt(u_xlat2.x);
    u_xlat2.xyz = u_xlat2.xxx * vs_TEXCOORD2.xyz;
    u_xlat3.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy);
    u_xlat3.xy = u_xlat3.xy * hlslcc_FragCoord.xy;
    u_xlatb55.x = _DebugMaterialMode==9;
    if(u_xlatb55.x){
        u_xlatu55 = uint(_FPParams0.w);
        u_xlat4.xy = u_xlat3.xy * _FPParams1.xy;
        u_xlatu4.xy = uvec2(u_xlat4.xy);
        u_xlatu56.xy = uvec2(_FPParams1.zw);
        u_xlati81 = int(u_xlatu4.y) * int(u_xlatu56.x) + int(u_xlatu4.x);
        u_xlatu81 = u_xlatu56.y * uint(u_xlati81);
        u_xlat4.x = hlslcc_mtx4x4unity_MatrixV[0].z;
        u_xlat4.y = hlslcc_mtx4x4unity_MatrixV[1].z;
        u_xlat4.z = hlslcc_mtx4x4unity_MatrixV[2].z;
        u_xlat5.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
        u_xlat4.x = dot((-u_xlat4.xyz), u_xlat5.xyz);
        u_xlatb30 = unity_OrthoParams.w==0.0;
        u_xlat56 = log2(u_xlat4.x);
        u_xlat4.x = (u_xlatb30) ? u_xlat56 : u_xlat4.x;
        u_xlat4.x = u_xlat4.x * _FPParams0.x + _FPParams0.y;
        u_xlatu4.x = uint(u_xlat4.x);
        u_xlatu4.x = min(u_xlatu4.x, 4095u);
        u_xlati30.x = int(u_xlatu56.y) + 2;
        u_xlatu56.x = uint(u_xlati30.x) * u_xlatu4.x;
        u_xlatu5 = u_xlatu4.x * uint(u_xlati30.x) + 2u;
        if(u_xlatu56.y != uint(0)) {
            u_xlatu31 = uint(u_xlatu56.x >> (2u & uint(0x1F)));
            u_xlati57.xy = ivec2(int_bitfieldExtract(int(u_xlatu56.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu56.x), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(uint(u_xlati57.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu31)].w)), uint(u_xlati57.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu31)].y))));
            u_xlati58.xy = op_not(u_xlati57.xy);
            u_xlati31.xy = ivec2(uvec2(uint(u_xlati58.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu31)].z)), uint(u_xlati58.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu31)].x))));
            u_xlati31.xy = ivec2(uvec2(uint(u_xlati31.x) | uint(u_xlati6.x), uint(u_xlati31.y) | uint(u_xlati6.y)));
            u_xlati56 = int(uint(uint(u_xlati57.y) & uint(u_xlati31.x)));
            u_xlati31.x = int(uint(uint(u_xlati58.y) & uint(u_xlati31.y)));
            u_xlatu56.x = uint(uint(u_xlati56) | uint(u_xlati31.x));
            u_xlatu31 = uint(u_xlatu81 >> (2u & uint(0x1F)));
            u_xlati57.xy = ivec2(int_bitfieldExtract(int(u_xlatu81), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu81), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(uint(u_xlati57.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu31)].w)), uint(u_xlati57.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu31)].y))));
            u_xlati58.xy = op_not(u_xlati57.xy);
            u_xlati31.xy = ivec2(uvec2(uint(u_xlati58.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu31)].z)), uint(u_xlati58.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu31)].x))));
            u_xlati31.xy = ivec2(uvec2(uint(u_xlati31.x) | uint(u_xlati6.x), uint(u_xlati31.y) | uint(u_xlati6.y)));
            u_xlati31.x = int(uint(uint(u_xlati57.y) & uint(u_xlati31.x)));
            u_xlati57.x = int(uint(uint(u_xlati58.y) & uint(u_xlati31.y)));
            u_xlati31.x = int(uint(uint(u_xlati57.x) | uint(u_xlati31.x)));
            u_xlatu57 = uint(u_xlatu5 >> (2u & uint(0x1F)));
            u_xlati6.xy = ivec2(int_bitfieldExtract(int(u_xlatu5), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati58.xy = ivec2(uvec2(uint(u_xlati6.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu57)].w)), uint(u_xlati6.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu57)].y))));
            u_xlati7.xy = op_not(u_xlati6.xy);
            u_xlati57.xy = ivec2(uvec2(uint(u_xlati7.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu57)].z)), uint(u_xlati7.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu57)].x))));
            u_xlati57.xy = ivec2(uvec2(uint(u_xlati57.x) | uint(u_xlati58.x), uint(u_xlati57.y) | uint(u_xlati58.y)));
            u_xlati57.x = int(uint(uint(u_xlati6.y) & uint(u_xlati57.x)));
            u_xlati83 = int(uint(uint(u_xlati7.y) & uint(u_xlati57.y)));
            u_xlati57.x = int(uint(uint(u_xlati83) | uint(u_xlati57.x)));
            u_xlati31.x = int(uint(uint(u_xlati57.x) & uint(u_xlati31.x)));
            u_xlati57.x = int(int(0xFFFFFFFFu) << (int(u_xlatu56.x) & int(0x1F)));
            u_xlati31.x = int(uint(uint(u_xlati57.x) & uint(u_xlati31.x)));
            u_xlatu56.x = uint(u_xlatu56.x >> (16u & uint(0x1F)));
            u_xlatu56.x = (-u_xlatu56.x) + 31u;
            u_xlatu56.x = uint(4294967295u >> (u_xlatu56.x & uint(0x1F)));
            u_xlati56 = int(uint(u_xlatu56.x & uint(u_xlati31.x)));
        } else {
            u_xlati56 = 0;
        }
        u_xlatu31 = u_xlatu55;
        u_xlati6.x = u_xlati56;
        while(true){
            if(u_xlati6.x == 0) {break;}
            u_xlati32 = 0 - u_xlati6.x;
            u_xlatu32 = uint(uint(u_xlati32) & uint(u_xlati6.x));
            u_xlat32 = float(u_xlatu32);
            u_xlatu32 = uint(uint(floatBitsToUint(u_xlat32)) >> (23u & uint(0x1F)));
            u_xlati32 = int(u_xlatu32) + int(0xFFFFFF81u);
            u_xlati32 = int(1 << (u_xlati32 & int(0x1F)));
            u_xlati6.x = int(uint(uint(u_xlati32) ^ uint(u_xlati6.x)));
            u_xlatu31 = u_xlatu31 + 1u;
        }
        if(u_xlatu56.y != uint(0)) {
            u_xlatu55 = u_xlatu4.x * uint(u_xlati30.x) + 1u;
            u_xlatu4.x = uint(u_xlatu55 >> (2u & uint(0x1F)));
            u_xlati30.xy = ivec2(int_bitfieldExtract(int(u_xlatu55), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu55), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].w)), uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].y))));
            u_xlati30.xz = op_not(u_xlati30.xy);
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].z)), uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].x))));
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati4.x) | uint(u_xlati6.x), uint(u_xlati4.y) | uint(u_xlati6.y)));
            u_xlati55 = int(uint(uint(u_xlati30.y) & uint(u_xlati4.x)));
            u_xlati4.x = int(uint(uint(u_xlati30.z) & uint(u_xlati4.y)));
            u_xlatu55 = uint(uint(u_xlati55) | uint(u_xlati4.x));
            u_xlatu4.x = uint(u_xlatu81 >> (2u & uint(0x1F)));
            u_xlati30.xy = ivec2(int_bitfieldExtract(int(u_xlatu81), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu81), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].w)), uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].y))));
            u_xlati30.xz = op_not(u_xlati30.xy);
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].z)), uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu4.x)].x))));
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati4.x) | uint(u_xlati6.x), uint(u_xlati4.y) | uint(u_xlati6.y)));
            u_xlati81 = int(uint(uint(u_xlati30.y) & uint(u_xlati4.x)));
            u_xlati4.x = int(uint(uint(u_xlati30.z) & uint(u_xlati4.y)));
            u_xlati81 = int(uint(uint(u_xlati81) | uint(u_xlati4.x)));
            u_xlatu4.x = uint(u_xlatu5 >> (2u & uint(0x1F)));
            u_xlati30.xy = ivec2(int_bitfieldExtract(int(u_xlatu5), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati6.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].w)), uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].y))));
            u_xlati30.xz = op_not(u_xlati30.xy);
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].z)), uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu4.x)].x))));
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati4.x) | uint(u_xlati6.x), uint(u_xlati4.y) | uint(u_xlati6.y)));
            u_xlati4.xy = ivec2(uvec2(uint(u_xlati30.y) & uint(u_xlati4.x), uint(u_xlati30.z) & uint(u_xlati4.y)));
            u_xlati4.x = int(uint(uint(u_xlati4.y) | uint(u_xlati4.x)));
            u_xlati81 = int(uint(uint(u_xlati81) & uint(u_xlati4.x)));
            u_xlati4.x = int(int(0xFFFFFFFFu) << (int(u_xlatu55) & int(0x1F)));
            u_xlati81 = int(uint(uint(u_xlati81) & uint(u_xlati4.x)));
            u_xlatu55 = uint(u_xlatu55 >> (16u & uint(0x1F)));
            u_xlatu55 = (-u_xlatu55) + 31u;
            u_xlatu55 = uint(4294967295u >> (u_xlatu55 & uint(0x1F)));
            u_xlati55 = int(uint(u_xlatu55 & uint(u_xlati81)));
        } else {
            u_xlati55 = 0;
        }
        u_xlatu81 = u_xlatu31;
        u_xlati4.x = u_xlati55;
        while(true){
            if(u_xlati4.x == 0) {break;}
            u_xlati30.x = 0 - u_xlati4.x;
            u_xlatu30 = uint(uint(u_xlati30.x) & uint(u_xlati4.x));
            u_xlat30 = float(u_xlatu30);
            u_xlatu30 = uint(uint(floatBitsToUint(u_xlat30)) >> (23u & uint(0x1F)));
            u_xlati30.x = int(u_xlatu30) + int(0xFFFFFF81u);
            u_xlati30.x = int(1 << (u_xlati30.x & int(0x1F)));
            u_xlati4.x = int(uint(uint(u_xlati30.x) ^ uint(u_xlati4.x)));
            u_xlatu81 = u_xlatu81 + 1u;
        }
        u_xlat4 = u_xlat3.xyxy * _ScreenParams.xyxy;
        u_xlatu4 = uvec4(u_xlat4);
        u_xlat55 = float(u_xlatu81);
        u_xlat55 = u_xlat55 + 0.100000001;
        u_xlat55 = log2(u_xlat55);
        u_xlat55 = u_xlat55 * 3.15464878;
        u_xlat55 = floor(u_xlat55);
        u_xlati55 = int(u_xlat55);
        u_xlati55 = u_xlati55 + 1;
        u_xlati55 = max(u_xlati55, 0);
        u_xlati55 = min(u_xlati55, 11);
        u_xlati6.xy = ivec2(uvec2(u_xlatu4.z & uint(31u), u_xlatu4.w & uint(31u)));
        u_xlat7.xyz = log2(ImmCB_0[u_xlati55].xyz);
        u_xlat7.xyz = u_xlat7.xyz * vec3(2.20000005, 2.20000005, 2.20000005);
        u_xlat5.xyz = exp2(u_xlat7.xyz);
        u_xlatb55.x = 9u>=u_xlatu81;
        if(u_xlatb55.x){
            u_xlati58.xy = u_xlati6.xy + ivec2(int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            u_xlatb7.xy = lessThan(u_xlati58.xyxx, ivec4(0, 0, 0, 0)).xy;
            u_xlatb7.x = u_xlatb7.y || u_xlatb7.x;
            u_xlatb33.xy = greaterThanEqual(u_xlati58.xyxx, ivec4(5, 9, 0, 0)).xy;
            u_xlatb7.x = u_xlatb33.x || u_xlatb7.x;
            u_xlatb7.x = u_xlatb33.y || u_xlatb7.x;
            if(!u_xlatb7.x){
                TempArray0[0].x = 1.31986677e-38;
                TempArray0[1].x = 2.12591537e-38;
                TempArray0[2].x = 1.25143043e-38;
                TempArray0[3].x = 2.80572715e-38;
                TempArray0[4].x = 1.80243991e-38;
                TempArray0[5].x = 2.80328777e-38;
                TempArray0[6].x = 1.49005124e-38;
                TempArray0[7].x = 2.80329113e-38;
                TempArray0[8].x = 1.53482105e-38;
                TempArray0[9].x = 8.48817543e-38;
                TempArray0[10].x = 1.39649383e-38;
                TempArray0[11].x = 2.50841393e-38;
                TempArray0[12].x = 9.11131044e-38;
                TempArray0[13].x = 2.50783996e-38;
                TempArray0[14].x = 1.25371735e-38;
                TempArray0[15].x = 2.80171383e-38;
                TempArray0[16].x = 1.24436705e-38;
                TempArray0[17].x = 2.12175169e-38;
                u_xlati7.x = int((u_xlatu81>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati84 = int(u_xlati58.y << (1 & int(0x1F)));
                u_xlati84 = (-u_xlati84) + 16;
                u_xlati84 = int(int_bitfieldInsert(u_xlati84, u_xlati7.x, 0 & int(0x1F), 1));
                u_xlat84 = TempArray0[u_xlati84].x;
                {
                    uint rem = u_xlatu81 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu58 = u_xlatu7 * 5u + uint(u_xlati58.x);
                u_xlatu58 = uint(uint(floatBitsToUint(u_xlat84)) >> (u_xlatu58 & uint(0x1F)));
                u_xlati58.x = int(uint(u_xlatu58 & 1u));
                u_xlati58.x = int((u_xlati58.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati58.x = 0;
            }
        } else {
            u_xlati7 = u_xlati6.xyxy + ivec4(int(0xFFFFFFF7u), int(0xFFFFFFF5u), int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            {
                uint quo = u_xlatu81 / 10u;
                u_xlatu84 = quo;
            }
            u_xlatb8 = lessThan(u_xlati7, ivec4(0, 0, 0, 0));
            u_xlati8.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | (uint(u_xlatb8.x) * 0xffffffffu), (uint(u_xlatb8.w) * 0xffffffffu) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlatb9 = greaterThanEqual(u_xlati7, ivec4(5, 9, 5, 9));
            u_xlati8.xy = ivec2(uvec2(uint(u_xlati8.x) | (uint(u_xlatb9.x) * 0xffffffffu), uint(u_xlati8.y) | (uint(u_xlatb9.z) * 0xffffffffu)));
            u_xlati8.xy = ivec2(uvec2((uint(u_xlatb9.y) * 0xffffffffu) | uint(u_xlati8.x), (uint(u_xlatb9.w) * 0xffffffffu) | uint(u_xlati8.y)));
            u_xlatb60 = 9u<u_xlatu84;
            u_xlati8.x = int(uint((uint(u_xlatb60) * 0xffffffffu) | uint(u_xlati8.x)));
            if(u_xlati8.x == 0) {
                TempArray1[0].x = 1.31986677e-38;
                TempArray1[1].x = 2.12591537e-38;
                TempArray1[2].x = 1.25143043e-38;
                TempArray1[3].x = 2.80572715e-38;
                TempArray1[4].x = 1.80243991e-38;
                TempArray1[5].x = 2.80328777e-38;
                TempArray1[6].x = 1.49005124e-38;
                TempArray1[7].x = 2.80329113e-38;
                TempArray1[8].x = 1.53482105e-38;
                TempArray1[9].x = 8.48817543e-38;
                TempArray1[10].x = 1.39649383e-38;
                TempArray1[11].x = 2.50841393e-38;
                TempArray1[12].x = 9.11131044e-38;
                TempArray1[13].x = 2.50783996e-38;
                TempArray1[14].x = 1.25371735e-38;
                TempArray1[15].x = 2.80171383e-38;
                TempArray1[16].x = 1.24436705e-38;
                TempArray1[17].x = 2.12175169e-38;
                u_xlati8.x = int((u_xlatu84>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati33.x = int(u_xlati7.y << (1 & int(0x1F)));
                u_xlati33.x = (-u_xlati33.x) + 16;
                u_xlati33.x = int(int_bitfieldInsert(u_xlati33.x, u_xlati8.x, 0 & int(0x1F), 1));
                u_xlat33 = TempArray1[u_xlati33.x].x;
                {
                    uint rem = u_xlatu84 % 5u;
                    u_xlatu84 = rem;
                }
                u_xlatu84 = u_xlatu84 * 5u + uint(u_xlati7.x);
                u_xlatu84 = uint(uint(floatBitsToUint(u_xlat33)) >> (u_xlatu84 & uint(0x1F)));
                u_xlati84 = int(uint(u_xlatu84 & 1u));
                u_xlati84 = int((u_xlati84!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati84 = 0;
            }
            if(u_xlati8.y == 0) {
                {
                    uint rem = u_xlatu81 % 10u;
                    u_xlatu7 = rem;
                }
                TempArray2[0].x = 1.31986677e-38;
                TempArray2[1].x = 2.12591537e-38;
                TempArray2[2].x = 1.25143043e-38;
                TempArray2[3].x = 2.80572715e-38;
                TempArray2[4].x = 1.80243991e-38;
                TempArray2[5].x = 2.80328777e-38;
                TempArray2[6].x = 1.49005124e-38;
                TempArray2[7].x = 2.80329113e-38;
                TempArray2[8].x = 1.53482105e-38;
                TempArray2[9].x = 8.48817543e-38;
                TempArray2[10].x = 1.39649383e-38;
                TempArray2[11].x = 2.50841393e-38;
                TempArray2[12].x = 9.11131044e-38;
                TempArray2[13].x = 2.50783996e-38;
                TempArray2[14].x = 1.25371735e-38;
                TempArray2[15].x = 2.80171383e-38;
                TempArray2[16].x = 1.24436705e-38;
                TempArray2[17].x = 2.12175169e-38;
                u_xlati33.x = int((u_xlatu7>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati85 = int(u_xlati7.w << (1 & int(0x1F)));
                u_xlati85 = (-u_xlati85) + 16;
                u_xlati33.x = int(int_bitfieldInsert(u_xlati85, u_xlati33.x, 0 & int(0x1F), 1));
                u_xlat33 = TempArray2[u_xlati33.x].x;
                {
                    uint rem = u_xlatu7 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu7 = u_xlatu7 * 5u + uint(u_xlati7.z);
                u_xlatu7 = uint(uint(floatBitsToUint(u_xlat33)) >> (u_xlatu7 & uint(0x1F)));
                u_xlati7.x = int(uint(u_xlatu7 & 1u));
                u_xlati7.x = int((u_xlati7.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati7.x = 0;
            }
            u_xlati58.x = int(uint(uint(u_xlati84) | uint(u_xlati7.x)));
        }
        u_xlat5.w = 0.800000012;
        u_xlat5 = (u_xlati58.x != 0) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat5;
        if(u_xlatb55.x){
            u_xlati58.xy = u_xlati6.xy + ivec2(int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            u_xlatb7.xy = lessThan(u_xlati58.xyxx, ivec4(0, 0, 0, 0)).xy;
            u_xlatb55.x = u_xlatb7.y || u_xlatb7.x;
            u_xlatb7.xy = greaterThanEqual(u_xlati58.xyxx, ivec4(5, 9, 0, 0)).xy;
            u_xlatb55.x = u_xlatb55.x || u_xlatb7.x;
            u_xlatb55.x = u_xlatb7.y || u_xlatb55.x;
            if(!u_xlatb55.x){
                TempArray3[0].x = 1.31986677e-38;
                TempArray3[1].x = 2.12591537e-38;
                TempArray3[2].x = 1.25143043e-38;
                TempArray3[3].x = 2.80572715e-38;
                TempArray3[4].x = 1.80243991e-38;
                TempArray3[5].x = 2.80328777e-38;
                TempArray3[6].x = 1.49005124e-38;
                TempArray3[7].x = 2.80329113e-38;
                TempArray3[8].x = 1.53482105e-38;
                TempArray3[9].x = 8.48817543e-38;
                TempArray3[10].x = 1.39649383e-38;
                TempArray3[11].x = 2.50841393e-38;
                TempArray3[12].x = 9.11131044e-38;
                TempArray3[13].x = 2.50783996e-38;
                TempArray3[14].x = 1.25371735e-38;
                TempArray3[15].x = 2.80171383e-38;
                TempArray3[16].x = 1.24436705e-38;
                TempArray3[17].x = 2.12175169e-38;
                u_xlati55 = int((u_xlatu81>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati84 = int(u_xlati58.y << (1 & int(0x1F)));
                u_xlati84 = (-u_xlati84) + 16;
                u_xlati55 = int(int_bitfieldInsert(u_xlati84, u_xlati55, 0 & int(0x1F), 1));
                u_xlat55 = TempArray3[u_xlati55].x;
                {
                    uint rem = u_xlatu81 % 5u;
                    u_xlatu84 = rem;
                }
                u_xlatu58 = u_xlatu84 * 5u + uint(u_xlati58.x);
                u_xlatu55 = uint(uint(floatBitsToUint(u_xlat55)) >> (u_xlatu58 & uint(0x1F)));
                u_xlati55 = int(uint(u_xlatu55 & 1u));
                u_xlati55 = int((u_xlati55!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati55 = 0;
            }
        } else {
            u_xlati6 = u_xlati6.xyxy + ivec4(int(0xFFFFFFF8u), int(0xFFFFFFF6u), int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            {
                uint quo = u_xlatu81 / 10u;
                u_xlatu7 = quo;
            }
            u_xlatb8 = lessThan(u_xlati6, ivec4(0, 0, 0, 0));
            u_xlati33.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | (uint(u_xlatb8.x) * 0xffffffffu), (uint(u_xlatb8.w) * 0xffffffffu) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlatb8 = greaterThanEqual(u_xlati6, ivec4(5, 9, 5, 9));
            u_xlati33.xy = ivec2(uvec2(uint(u_xlati33.x) | (uint(u_xlatb8.x) * 0xffffffffu), uint(u_xlati33.y) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlati33.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | uint(u_xlati33.x), (uint(u_xlatb8.w) * 0xffffffffu) | uint(u_xlati33.y)));
            u_xlatb85 = 9u<u_xlatu7;
            u_xlati33.x = int(uint((uint(u_xlatb85) * 0xffffffffu) | uint(u_xlati33.x)));
            if(u_xlati33.x == 0) {
                TempArray4[0].x = 1.31986677e-38;
                TempArray4[1].x = 2.12591537e-38;
                TempArray4[2].x = 1.25143043e-38;
                TempArray4[3].x = 2.80572715e-38;
                TempArray4[4].x = 1.80243991e-38;
                TempArray4[5].x = 2.80328777e-38;
                TempArray4[6].x = 1.49005124e-38;
                TempArray4[7].x = 2.80329113e-38;
                TempArray4[8].x = 1.53482105e-38;
                TempArray4[9].x = 8.48817543e-38;
                TempArray4[10].x = 1.39649383e-38;
                TempArray4[11].x = 2.50841393e-38;
                TempArray4[12].x = 9.11131044e-38;
                TempArray4[13].x = 2.50783996e-38;
                TempArray4[14].x = 1.25371735e-38;
                TempArray4[15].x = 2.80171383e-38;
                TempArray4[16].x = 1.24436705e-38;
                TempArray4[17].x = 2.12175169e-38;
                u_xlati33.x = int((u_xlatu7>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati32 = int(u_xlati6.y << (1 & int(0x1F)));
                u_xlati32 = (-u_xlati32) + 16;
                u_xlati32 = int(int_bitfieldInsert(u_xlati32, u_xlati33.x, 0 & int(0x1F), 1));
                u_xlat32 = TempArray4[u_xlati32].x;
                {
                    uint rem = u_xlatu7 % 5u;
                    u_xlatu7 = rem;
                }
                u_xlatu6.x = u_xlatu7 * 5u + uint(u_xlati6.x);
                u_xlatu6.x = uint(uint(floatBitsToUint(u_xlat32)) >> (u_xlatu6.x & uint(0x1F)));
                u_xlati6.x = int(uint(u_xlatu6.x & 1u));
                u_xlati6.x = int((u_xlati6.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati6.x = 0;
            }
            if(u_xlati33.y == 0) {
                {
                    uint rem = u_xlatu81 % 10u;
                    u_xlatu81 = rem;
                }
                TempArray5[0].x = 1.31986677e-38;
                TempArray5[1].x = 2.12591537e-38;
                TempArray5[2].x = 1.25143043e-38;
                TempArray5[3].x = 2.80572715e-38;
                TempArray5[4].x = 1.80243991e-38;
                TempArray5[5].x = 2.80328777e-38;
                TempArray5[6].x = 1.49005124e-38;
                TempArray5[7].x = 2.80329113e-38;
                TempArray5[8].x = 1.53482105e-38;
                TempArray5[9].x = 8.48817543e-38;
                TempArray5[10].x = 1.39649383e-38;
                TempArray5[11].x = 2.50841393e-38;
                TempArray5[12].x = 9.11131044e-38;
                TempArray5[13].x = 2.50783996e-38;
                TempArray5[14].x = 1.25371735e-38;
                TempArray5[15].x = 2.80171383e-38;
                TempArray5[16].x = 1.24436705e-38;
                TempArray5[17].x = 2.12175169e-38;
                u_xlati32 = int((u_xlatu81>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati84 = int(u_xlati6.w << (1 & int(0x1F)));
                u_xlati84 = (-u_xlati84) + 16;
                u_xlati32 = int(int_bitfieldInsert(u_xlati84, u_xlati32, 0 & int(0x1F), 1));
                u_xlat32 = TempArray5[u_xlati32].x;
                {
                    uint rem = u_xlatu81 % 5u;
                    u_xlatu81 = rem;
                }
                u_xlatu81 = u_xlatu81 * 5u + uint(u_xlati6.z);
                u_xlatu81 = uint(uint(floatBitsToUint(u_xlat32)) >> (u_xlatu81 & uint(0x1F)));
                u_xlati81 = int(uint(u_xlatu81 & 1u));
                u_xlati81 = int((u_xlati81!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati81 = 0;
            }
            u_xlati55 = int(uint(uint(u_xlati81) | uint(u_xlati6.x)));
        }
        u_xlat5 = (int(u_xlati55) != 0) ? vec4(1.0, 1.0, 1.0, 1.0) : u_xlat5;
        u_xlat6 = vec4(u_xlatu4.zwzw);
        u_xlat6 = u_xlat6 * vec4(0.03125, 0.03125, 0.03125, 0.03125);
        u_xlatu6 = uvec4(u_xlat6);
        u_xlati6 = ivec4(int(u_xlatu6.x) << (int(5) & int(0x1F)), int(u_xlatu6.y) << (int(5) & int(0x1F)), int(u_xlatu6.z) << (int(5) & int(0x1F)), int(u_xlatu6.w) << (int(5) & int(0x1F)));
        u_xlati4 = ivec4(u_xlatu4) + (-u_xlati6);
        u_xlatb4 = equal(u_xlati4, ivec4(0, 0, 31, 31));
        {
            bvec2 hlslcc_orTemp = u_xlatb55;
            hlslcc_orTemp.x = u_xlatb4.z || u_xlatb4.x;
            hlslcc_orTemp.y = u_xlatb4.w || u_xlatb4.y;
            u_xlatb55 = hlslcc_orTemp;
        }
        u_xlatb55.x = u_xlatb55.y || u_xlatb55.x;
        u_xlat16_4 = (u_xlatb55.x) ? vec4(1.0, 1.0, 1.0, 0.400000006) : u_xlat5;
        u_xlat16_10.xyz = (-u_xlat16_0.xyz) * vs_COLOR0.xyz + u_xlat16_4.xyz;
        u_xlat16_0.xyz = u_xlat16_4.www * u_xlat16_10.xyz + u_xlat16_1.yzw;
        u_xlat16_0.w = 1.0;
        u_xlat16_4.xyz = u_xlat16_1.yzw;
        u_xlati55 = int(0xFFFFFFFFu);
    } else {
        u_xlatb81 = _DebugLightingMode==1;
        if(u_xlatb81){
            u_xlat7.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres0.xyz);
            u_xlat8.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres1.xyz);
            u_xlat9.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres2.xyz);
            u_xlat11.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres3.xyz);
            u_xlat5.x = dot(u_xlat7.xyz, u_xlat7.xyz);
            u_xlat5.y = dot(u_xlat8.xyz, u_xlat8.xyz);
            u_xlat5.z = dot(u_xlat9.xyz, u_xlat9.xyz);
            u_xlat5.w = dot(u_xlat11.xyz, u_xlat11.xyz);
            u_xlatb5 = lessThan(u_xlat5, _CascadeShadowSplitSphereRadii);
            u_xlat16_6.x = (u_xlatb5.x) ? float(1.0) : float(0.0);
            u_xlat16_6.y = (u_xlatb5.y) ? float(1.0) : float(0.0);
            u_xlat16_6.z = (u_xlatb5.z) ? float(1.0) : float(0.0);
            u_xlat16_6.w = (u_xlatb5.w) ? float(1.0) : float(0.0);
            u_xlat16_10.x = (u_xlatb5.x) ? float(-1.0) : float(-0.0);
            u_xlat16_10.y = (u_xlatb5.y) ? float(-1.0) : float(-0.0);
            u_xlat16_10.z = (u_xlatb5.z) ? float(-1.0) : float(-0.0);
            u_xlat16_10.xyz = u_xlat16_6.yzw + u_xlat16_10.xyz;
            u_xlat16_6.yzw = max(u_xlat16_10.xyz, vec3(0.0, 0.0, 0.0));
            u_xlat16_10.x = dot(u_xlat16_6, vec4(4.0, 3.0, 2.0, 1.0));
            u_xlat16_10.x = (-u_xlat16_10.x) + 4.0;
            u_xlatu81 = uint(u_xlat16_10.x);
            switch(int(u_xlatu81)){
                case 0:
                    u_xlat16_4.x = float(0.400000006);
                    u_xlat16_4.y = float(0.400000006);
                    u_xlat16_4.z = float(0.899999976);
                    break;
                case 1:
                    u_xlat16_4.x = float(0.400000006);
                    u_xlat16_4.y = float(0.899999976);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                case 2:
                    u_xlat16_4.x = float(0.899999976);
                    u_xlat16_4.y = float(0.899999976);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                case 3:
                    u_xlat16_4.x = float(0.899999976);
                    u_xlat16_4.y = float(0.400000006);
                    u_xlat16_4.z = float(0.400000006);
                    break;
                default:
                    u_xlat16_4.x = float(0.0);
                    u_xlat16_4.y = float(0.0);
                    u_xlat16_4.z = float(0.0);
                    break;
            }
            u_xlat16_0.x = float(0.0);
            u_xlat16_0.y = float(0.0);
            u_xlat16_0.z = float(0.0);
            u_xlat16_10.x = 1.0;
        } else {
            u_xlatb5 = equal(ivec4(ivec4(_DebugLightingMode, _DebugLightingMode, _DebugLightingMode, _DebugLightingMode)), ivec4(2, 3, 4, 5));
            {
                bvec2 hlslcc_orTemp = u_xlatb7;
                hlslcc_orTemp.x = u_xlatb5.y || u_xlatb5.x;
                hlslcc_orTemp.y = u_xlatb5.w || u_xlatb5.z;
                u_xlatb7 = hlslcc_orTemp;
            }
            u_xlat16_62.xy = (u_xlatb7.y) ? vec2(1.0, 1.0) : vec2(0.0, 1.0);
            u_xlat16_12.xyz = (u_xlatb7.y) ? vec3(0.0, 0.0, 0.0) : u_xlat16_1.yzw;
            u_xlat16_10.xy = (u_xlatb7.x) ? vec2(0.0, 0.0) : u_xlat16_62.yx;
            u_xlat16_4.xyz = (u_xlatb7.x) ? vec3(1.0, 1.0, 1.0) : u_xlat16_12.xyz;
            u_xlat16_0.xyz = u_xlat16_10.yyy;
        }
        u_xlat16_5 = (_DebugSceneOverrideMode != 0) ? _DebugColor : vec4(0.0, 0.0, 0.0, 0.0);
        if(_DebugSceneOverrideMode != 0) {
            u_xlat16_0 = u_xlat16_5;
            u_xlati55 = int(0xFFFFFFFFu);
        } else {
            switch(_DebugMaterialMode){
                case 0:
                    u_xlat16_0 = u_xlat16_5;
                    u_xlati81 = 0;
                    break;
                case 1:
                    u_xlat16_4.w = 1.0;
                    u_xlat16_0 = u_xlat16_4;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 2:
                    u_xlat16_0.w = 1.0;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 3:
                    u_xlat16_1.w = 1.0;
                    u_xlat16_0 = u_xlat16_1.xxxw;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 4:
                    u_xlat16_10.y = 1.0;
                    u_xlat16_0 = u_xlat16_10.xxxy;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 5:
                    u_xlat16_0.x = float(1.0);
                    u_xlat16_0.y = float(1.0);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 6:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 7:
                    u_xlat0.xyz = u_xlat2.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
                    u_xlat16_0.xyz = u_xlat0.xyz;
                    u_xlat16_0.w = 1.0;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 8:
                    u_xlat16_0.x = float(0.5);
                    u_xlat16_0.y = float(0.5);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                case 10:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
                default:
                    u_xlat16_0 = _DebugColorInvalidMode;
                    u_xlati81 = int(0xFFFFFFFFu);
                    break;
            }
            if(u_xlati81 != 0) {
                u_xlati55 = int(0xFFFFFFFFu);
            } else {
                switch(_DebugMaterialValidationMode){
                    case 0:
                        u_xlati55 = 0;
                        break;
                    case 1:
                        u_xlat16_10.x = dot(u_xlat16_4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlatb81 = u_xlat16_10.x<_DebugValidateAlbedoMinLuminance;
                        if(u_xlatb81){
                            u_xlat16_0 = _DebugValidateBelowMinThresholdColor;
                        } else {
                            u_xlatb81 = _DebugValidateAlbedoMaxLuminance<u_xlat16_10.x;
                            u_xlatb7.x = u_xlat16_4.y>=u_xlat16_4.z;
                            u_xlat16_27 = (u_xlatb7.x) ? 1.0 : 0.0;
                            u_xlat16_5.xy = u_xlat16_4.zy;
                            u_xlat16_5.z = float(-1.0);
                            u_xlat16_5.w = float(0.666666687);
                            u_xlat16_6.xy = u_xlat16_4.yz + (-u_xlat16_5.xy);
                            u_xlat16_6.z = float(1.0);
                            u_xlat16_6.w = float(-1.0);
                            u_xlat16_5 = vec4(u_xlat16_27) * u_xlat16_6 + u_xlat16_5;
                            u_xlatb7.x = u_xlat16_4.x>=u_xlat16_5.x;
                            u_xlat16_27 = (u_xlatb7.x) ? 1.0 : 0.0;
                            u_xlat16_6.xyz = u_xlat16_5.xyw;
                            u_xlat16_6.w = u_xlat16_4.x;
                            u_xlat16_5.xyw = u_xlat16_6.wyx;
                            u_xlat16_5 = (-u_xlat16_6) + u_xlat16_5;
                            u_xlat16_5 = vec4(u_xlat16_27) * u_xlat16_5 + u_xlat16_6;
                            u_xlat16_27 = min(u_xlat16_5.y, u_xlat16_5.w);
                            u_xlat16_27 = (-u_xlat16_27) + u_xlat16_5.x;
                            u_xlat16_53 = (-u_xlat16_5.y) + u_xlat16_5.w;
                            u_xlat16_62.x = u_xlat16_27 * 6.0 + 9.99999975e-05;
                            u_xlat16_62.x = u_xlat16_53 / u_xlat16_62.x;
                            u_xlat16_62.x = u_xlat16_5.z + u_xlat16_62.x;
                            u_xlat16_88 = u_xlat16_5.x + 9.99999975e-05;
                            u_xlat16_88 = u_xlat16_27 / u_xlat16_88;
                            u_xlatb7.x = _DebugValidateAlbedoCompareColor.y>=_DebugValidateAlbedoCompareColor.z;
                            u_xlat16_5.xy = _DebugValidateAlbedoCompareColor.zy;
                            u_xlat16_5.z = float(-1.0);
                            u_xlat16_5.w = float(0.666666687);
                            u_xlat16_6.xy = _DebugValidateAlbedoCompareColor.yz;
                            u_xlat16_6.z = float(0.0);
                            u_xlat16_6.w = float(-0.333333343);
                            u_xlat16_6 = (-u_xlat16_5) + u_xlat16_6;
                            u_xlat16_6 = (u_xlatb7.x) ? u_xlat16_6 : vec4(0.0, 0.0, 0.0, -0.0);
                            u_xlat16_5 = u_xlat16_5 + u_xlat16_6;
                            u_xlatb7.x = _DebugValidateAlbedoCompareColor.x>=u_xlat16_5.x;
                            u_xlat16_6.xyz = u_xlat16_5.xyw;
                            u_xlat16_6.w = _DebugValidateAlbedoCompareColor.x;
                            u_xlat16_5.xyw = u_xlat16_6.wyx;
                            u_xlat16_5 = (-u_xlat16_6) + u_xlat16_5;
                            u_xlat16_5 = (u_xlatb7.x) ? u_xlat16_5 : vec4(0.0, 0.0, 0.0, 0.0);
                            u_xlat16_5 = u_xlat16_5 + u_xlat16_6;
                            u_xlat16_12.x = min(u_xlat16_5.y, u_xlat16_5.w);
                            u_xlat16_12.x = u_xlat16_5.x + (-u_xlat16_12.x);
                            u_xlat16_38.x = (-u_xlat16_5.y) + u_xlat16_5.w;
                            u_xlat16_64.x = u_xlat16_12.x * 6.0 + 9.99999975e-05;
                            u_xlat16_38.x = u_xlat16_38.x / u_xlat16_64.x;
                            u_xlat16_38.x = u_xlat16_5.z + u_xlat16_38.x;
                            u_xlat16_64.x = u_xlat16_5.x + 9.99999975e-05;
                            u_xlat16_12.x = u_xlat16_12.x / u_xlat16_64.x;
                            u_xlat16_64.x = u_xlat16_12.x + (-_DebugValidateAlbedoSaturationTolerance);
                            u_xlatb7.x = u_xlat16_88<u_xlat16_64.x;
                            u_xlat16_64.x = abs(u_xlat16_38.x) + (-_DebugValidateAlbedoHueTolerance);
                            u_xlatb33.x = abs(u_xlat16_62.x)<u_xlat16_64.x;
                            u_xlat16_64.x = u_xlat16_64.x + 1.0;
                            u_xlatb59 = abs(u_xlat16_62.x)<u_xlat16_64.x;
                            u_xlatb33.x = u_xlatb59 && u_xlatb33.x;
                            u_xlatb7.x = u_xlatb33.x || u_xlatb7.x;
                            u_xlat16_12.x = u_xlat16_12.x + _DebugValidateAlbedoSaturationTolerance;
                            u_xlatb33.x = u_xlat16_12.x<u_xlat16_88;
                            u_xlat16_88 = abs(u_xlat16_38.x) + _DebugValidateAlbedoHueTolerance;
                            u_xlatb59 = u_xlat16_88<abs(u_xlat16_62.x);
                            u_xlat16_88 = u_xlat16_88 + -1.0;
                            u_xlatb85 = u_xlat16_88<abs(u_xlat16_62.x);
                            u_xlatb59 = u_xlatb85 && u_xlatb59;
                            u_xlatb33.x = u_xlatb59 || u_xlatb33.x;
                            u_xlat16_10.y = 1.0;
                            u_xlat16_5 = (u_xlatb33.x) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_10.xxxy;
                            u_xlat16_5 = (u_xlatb7.x) ? _DebugValidateBelowMinThresholdColor : u_xlat16_5;
                            u_xlat16_0 = (bool(u_xlatb81)) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_5;
                        }
                        u_xlati55 = int(0xFFFFFFFFu);
                        break;
                    case 2:
                        u_xlatb81 = 0.0<_DebugValidateMetallicMinValue;
                        u_xlatb7.x = _DebugValidateMetallicMaxValue<0.0;
                        u_xlat16_10.x = dot(u_xlat16_4.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlat16_10.y = 1.0;
                        u_xlat16_5 = (u_xlatb7.x) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_10.xxxy;
                        u_xlat16_0 = (bool(u_xlatb81)) ? _DebugValidateBelowMinThresholdColor : u_xlat16_5;
                        u_xlati55 = int(0xFFFFFFFFu);
                        break;
                    default:
                        u_xlat16_0 = _DebugColorInvalidMode;
                        u_xlati55 = int(0xFFFFFFFFu);
                        break;
                }
            }
        }
    }
    if(u_xlati55 == 0) {
        u_xlat2.w = 1.0;
        u_xlat16_10.x = dot(unity_SHAr, u_xlat2);
        u_xlat16_10.y = dot(unity_SHAg, u_xlat2);
        u_xlat16_10.z = dot(unity_SHAb, u_xlat2);
        u_xlat16_5 = u_xlat2.yzzx * u_xlat2.xyzz;
        u_xlat16_12.x = dot(unity_SHBr, u_xlat16_5);
        u_xlat16_12.y = dot(unity_SHBg, u_xlat16_5);
        u_xlat16_12.z = dot(unity_SHBb, u_xlat16_5);
        u_xlat16_88 = u_xlat2.y * u_xlat2.y;
        u_xlat16_88 = u_xlat2.x * u_xlat2.x + (-u_xlat16_88);
        u_xlat16_12.xyz = unity_SHC.xyz * vec3(u_xlat16_88) + u_xlat16_12.xyz;
        u_xlat16_10.xyz = u_xlat16_10.xyz + u_xlat16_12.xyz;
        u_xlat16_10.xyz = max(u_xlat16_10.xyz, vec3(0.0, 0.0, 0.0));
        u_xlat16_80 = texture(_ScreenSpaceOcclusionTexture, u_xlat3.xy, _GlobalMipBias.x).x;
        u_xlat55 = u_xlat16_80 + -1.0;
        u_xlat55 = _AmbientOcclusionParam.w * u_xlat55 + 1.0;
        switch(_DebugLightingMode){
            case 2:
                u_xlat16_88 = 0.5;
                u_xlat16_12.x = 0.5;
                break;
            case 3:
                u_xlat16_12.x = u_xlat55 * 0.5;
                u_xlat16_88 = u_xlat16_80 * 0.5;
                break;
            default:
                u_xlat16_88 = u_xlat16_80;
                u_xlat16_12.x = u_xlat55;
                break;
        }
        u_xlat16_88 = min(u_xlat16_88, 1.0);
        u_xlatb80 = 0.0<_MainLightShadowParams.y;
        if(u_xlatb80){
            u_xlatb80 = _MainLightShadowParams.y==1.0;
            if(u_xlatb80){
                u_xlat5 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset0;
                vec3 txVec0 = vec3(u_xlat5.xy,vs_TEXCOORD7.z);
                u_xlat16_6.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
                vec3 txVec1 = vec3(u_xlat5.zw,vs_TEXCOORD7.z);
                u_xlat16_6.y = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec1, 0.0);
                u_xlat5 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset1;
                vec3 txVec2 = vec3(u_xlat5.xy,vs_TEXCOORD7.z);
                u_xlat16_6.z = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec2, 0.0);
                vec3 txVec3 = vec3(u_xlat5.zw,vs_TEXCOORD7.z);
                u_xlat16_6.w = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec3, 0.0);
                u_xlat16_38.x = dot(u_xlat16_6, vec4(0.25, 0.25, 0.25, 0.25));
            } else {
                u_xlatb80 = _MainLightShadowParams.y==2.0;
                if(u_xlatb80){
                    u_xlat16_64.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                    u_xlat16_64.xy = floor(u_xlat16_64.xy);
                    u_xlat16_13.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_64.xy);
                    u_xlat16_5 = u_xlat16_13.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                    u_xlat16_6 = u_xlat16_5.xxzz * u_xlat16_5.xxzz;
                    u_xlat16_65.xy = u_xlat16_6.yw * vec2(0.0799999982, 0.0799999982);
                    u_xlat16_14.xy = u_xlat16_6.xz * vec2(0.5, 0.5) + (-u_xlat16_13.xy);
                    u_xlat16_66.xy = (-u_xlat16_13.xy) + vec2(1.0, 1.0);
                    u_xlat16_15.xy = min(u_xlat16_13.xy, vec2(0.0, 0.0));
                    u_xlat16_15.xy = (-u_xlat16_15.xy) * u_xlat16_15.xy + u_xlat16_66.xy;
                    u_xlat16_13.xy = max(u_xlat16_13.xy, vec2(0.0, 0.0));
                    u_xlat16_13.xy = (-u_xlat16_13.xy) * u_xlat16_13.xy + u_xlat16_5.yw;
                    u_xlat16_15.xy = u_xlat16_15.xy + vec2(1.0, 1.0);
                    u_xlat16_13.xy = u_xlat16_13.xy + vec2(1.0, 1.0);
                    u_xlat16_6.xy = u_xlat16_14.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_7.xy = u_xlat16_66.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_8.xy = u_xlat16_15.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_9.xy = u_xlat16_13.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_13.xy = u_xlat16_5.yw * vec2(0.159999996, 0.159999996);
                    u_xlat16_6.z = u_xlat16_8.x;
                    u_xlat16_6.w = u_xlat16_13.x;
                    u_xlat16_7.z = u_xlat16_9.x;
                    u_xlat16_7.w = u_xlat16_65.x;
                    u_xlat16_5 = u_xlat16_6.zwxz + u_xlat16_7.zwxz;
                    u_xlat16_8.z = u_xlat16_6.y;
                    u_xlat16_8.w = u_xlat16_13.y;
                    u_xlat16_9.z = u_xlat16_7.y;
                    u_xlat16_9.w = u_xlat16_65.y;
                    u_xlat16_13.xyz = u_xlat16_8.zyw + u_xlat16_9.zyw;
                    u_xlat16_14.xyz = u_xlat16_7.xzw / u_xlat16_5.zwy;
                    u_xlat16_14.xyz = u_xlat16_14.xyz + vec3(-2.5, -0.5, 1.5);
                    u_xlat16_15.xyz = u_xlat16_9.zyw / u_xlat16_13.xyz;
                    u_xlat16_15.xyz = u_xlat16_15.xyz + vec3(-2.5, -0.5, 1.5);
                    u_xlat16_6.xyz = u_xlat16_14.yxz * _MainLightShadowmapSize.xxx;
                    u_xlat16_7.xyz = u_xlat16_15.xyz * _MainLightShadowmapSize.yyy;
                    u_xlat16_6.w = u_xlat16_7.x;
                    u_xlat16_8 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_6.ywxw;
                    u_xlat16_14.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_6.zw;
                    u_xlat16_7.w = u_xlat16_6.y;
                    u_xlat16_6.yw = u_xlat16_7.yz;
                    u_xlat16_9 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_6.xyzy;
                    u_xlat16_7 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_7.wywz;
                    u_xlat16_6 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_6.xwzw;
                    u_xlat16_11 = u_xlat16_5.zwyz * u_xlat16_13.xxxy;
                    u_xlat16_15 = u_xlat16_5 * u_xlat16_13.yyzz;
                    u_xlat16_64.x = u_xlat16_5.y * u_xlat16_13.z;
                    vec3 txVec4 = vec3(u_xlat16_8.xy,vs_TEXCOORD7.z);
                    u_xlat16_80 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec4, 0.0);
                    vec3 txVec5 = vec3(u_xlat16_8.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec5, 0.0);
                    u_xlat55 = u_xlat16_55 * u_xlat16_11.y;
                    u_xlat80 = u_xlat16_11.x * u_xlat16_80 + u_xlat55;
                    vec3 txVec6 = vec3(u_xlat16_14.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec6, 0.0);
                    u_xlat80 = u_xlat16_11.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec7 = vec3(u_xlat16_7.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec7, 0.0);
                    u_xlat80 = u_xlat16_11.w * u_xlat16_55 + u_xlat80;
                    vec3 txVec8 = vec3(u_xlat16_9.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec8, 0.0);
                    u_xlat80 = u_xlat16_15.x * u_xlat16_55 + u_xlat80;
                    vec3 txVec9 = vec3(u_xlat16_9.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec9, 0.0);
                    u_xlat80 = u_xlat16_15.y * u_xlat16_55 + u_xlat80;
                    vec3 txVec10 = vec3(u_xlat16_7.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec10, 0.0);
                    u_xlat80 = u_xlat16_15.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec11 = vec3(u_xlat16_6.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec11, 0.0);
                    u_xlat80 = u_xlat16_15.w * u_xlat16_55 + u_xlat80;
                    vec3 txVec12 = vec3(u_xlat16_6.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec12, 0.0);
                    u_xlat38 = u_xlat16_64.x * u_xlat16_55 + u_xlat80;
                    u_xlat16_38.x = u_xlat38;
                } else {
                    u_xlat16_64.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                    u_xlat16_64.xy = floor(u_xlat16_64.xy);
                    u_xlat16_13.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_64.xy);
                    u_xlat16_5 = u_xlat16_13.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                    u_xlat16_6 = u_xlat16_5.xxzz * u_xlat16_5.xxzz;
                    u_xlat16_7.yw = u_xlat16_6.yw * vec2(0.0408160016, 0.0408160016);
                    u_xlat16_65.xy = u_xlat16_6.xz * vec2(0.5, 0.5) + (-u_xlat16_13.xy);
                    u_xlat16_14.xy = (-u_xlat16_13.xy) + vec2(1.0, 1.0);
                    u_xlat16_66.xy = min(u_xlat16_13.xy, vec2(0.0, 0.0));
                    u_xlat16_14.xy = (-u_xlat16_66.xy) * u_xlat16_66.xy + u_xlat16_14.xy;
                    u_xlat16_66.xy = max(u_xlat16_13.xy, vec2(0.0, 0.0));
                    u_xlat16_14.zw = (-u_xlat16_66.xy) * u_xlat16_66.xy + u_xlat16_5.yw;
                    u_xlat16_14 = u_xlat16_14 + vec4(2.0, 2.0, 2.0, 2.0);
                    u_xlat16_5.z = u_xlat16_14.z * 0.0816320032;
                    u_xlat16_6.xy = u_xlat16_65.yx * vec2(0.0816320032, 0.0816320032);
                    u_xlat16_65.xy = u_xlat16_14.xy * vec2(0.0816320032, 0.0816320032);
                    u_xlat16_6.z = u_xlat16_14.w * 0.0816320032;
                    u_xlat16_5.x = u_xlat16_6.y;
                    u_xlat16_5.yw = u_xlat16_13.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                    u_xlat16_8.xz = u_xlat16_13.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                    u_xlat16_8.y = u_xlat16_65.x;
                    u_xlat16_8.w = u_xlat16_7.y;
                    u_xlat16_5 = u_xlat16_5 + u_xlat16_8;
                    u_xlat16_6.yw = u_xlat16_13.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                    u_xlat16_7.xz = u_xlat16_13.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                    u_xlat16_7.y = u_xlat16_65.y;
                    u_xlat16_6 = u_xlat16_6 + u_xlat16_7;
                    u_xlat16_8 = u_xlat16_8 / u_xlat16_5;
                    u_xlat16_8 = u_xlat16_8 + vec4(-3.5, -1.5, 0.5, 2.5);
                    u_xlat16_7 = u_xlat16_7 / u_xlat16_6;
                    u_xlat16_7 = u_xlat16_7 + vec4(-3.5, -1.5, 0.5, 2.5);
                    u_xlat16_8 = u_xlat16_8.wxyz * _MainLightShadowmapSize.xxxx;
                    u_xlat16_7 = u_xlat16_7.xwyz * _MainLightShadowmapSize.yyyy;
                    u_xlat16_9.xzw = u_xlat16_8.yzw;
                    u_xlat16_9.y = u_xlat16_7.x;
                    u_xlat16_11 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                    u_xlat16_13.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                    u_xlat16_8.y = u_xlat16_9.y;
                    u_xlat16_9.y = u_xlat16_7.z;
                    u_xlat16_14 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                    u_xlat16_65.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                    u_xlat16_8.z = u_xlat16_9.y;
                    u_xlat16_15 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.xyxz;
                    u_xlat16_9.y = u_xlat16_7.w;
                    u_xlat16_16 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                    u_xlat16_17.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                    u_xlat16_8.w = u_xlat16_9.y;
                    u_xlat16_69.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_8.xw;
                    u_xlat16_7.xzw = u_xlat16_9.xzw;
                    u_xlat16_9 = u_xlat16_64.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_7.xyzy;
                    u_xlat16_18.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_7.wy;
                    u_xlat16_7.x = u_xlat16_8.x;
                    u_xlat16_64.xy = u_xlat16_64.xy * _MainLightShadowmapSize.xy + u_xlat16_7.xy;
                    u_xlat16_7 = u_xlat16_5 * u_xlat16_6.xxxx;
                    u_xlat16_8 = u_xlat16_5 * u_xlat16_6.yyyy;
                    u_xlat16_19 = u_xlat16_5 * u_xlat16_6.zzzz;
                    u_xlat16_5 = u_xlat16_5 * u_xlat16_6.wwww;
                    vec3 txVec13 = vec3(u_xlat16_11.xy,vs_TEXCOORD7.z);
                    u_xlat16_80 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec13, 0.0);
                    vec3 txVec14 = vec3(u_xlat16_11.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec14, 0.0);
                    u_xlat55 = u_xlat16_55 * u_xlat16_7.y;
                    u_xlat80 = u_xlat16_7.x * u_xlat16_80 + u_xlat55;
                    vec3 txVec15 = vec3(u_xlat16_13.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec15, 0.0);
                    u_xlat80 = u_xlat16_7.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec16 = vec3(u_xlat16_15.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec16, 0.0);
                    u_xlat80 = u_xlat16_7.w * u_xlat16_55 + u_xlat80;
                    vec3 txVec17 = vec3(u_xlat16_14.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec17, 0.0);
                    u_xlat80 = u_xlat16_8.x * u_xlat16_55 + u_xlat80;
                    vec3 txVec18 = vec3(u_xlat16_14.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec18, 0.0);
                    u_xlat80 = u_xlat16_8.y * u_xlat16_55 + u_xlat80;
                    vec3 txVec19 = vec3(u_xlat16_65.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec19, 0.0);
                    u_xlat80 = u_xlat16_8.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec20 = vec3(u_xlat16_15.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec20, 0.0);
                    u_xlat80 = u_xlat16_8.w * u_xlat16_55 + u_xlat80;
                    vec3 txVec21 = vec3(u_xlat16_16.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec21, 0.0);
                    u_xlat80 = u_xlat16_19.x * u_xlat16_55 + u_xlat80;
                    vec3 txVec22 = vec3(u_xlat16_16.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec22, 0.0);
                    u_xlat80 = u_xlat16_19.y * u_xlat16_55 + u_xlat80;
                    vec3 txVec23 = vec3(u_xlat16_17.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec23, 0.0);
                    u_xlat80 = u_xlat16_19.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec24 = vec3(u_xlat16_69.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec24, 0.0);
                    u_xlat80 = u_xlat16_19.w * u_xlat16_55 + u_xlat80;
                    vec3 txVec25 = vec3(u_xlat16_9.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec25, 0.0);
                    u_xlat80 = u_xlat16_5.x * u_xlat16_55 + u_xlat80;
                    vec3 txVec26 = vec3(u_xlat16_9.zw,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec26, 0.0);
                    u_xlat80 = u_xlat16_5.y * u_xlat16_55 + u_xlat80;
                    vec3 txVec27 = vec3(u_xlat16_18.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec27, 0.0);
                    u_xlat80 = u_xlat16_5.z * u_xlat16_55 + u_xlat80;
                    vec3 txVec28 = vec3(u_xlat16_64.xy,vs_TEXCOORD7.z);
                    u_xlat16_55 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec28, 0.0);
                    u_xlat38 = u_xlat16_5.w * u_xlat16_55 + u_xlat80;
                    u_xlat16_38.x = u_xlat38;
                }
            }
        } else {
            vec3 txVec29 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
            u_xlat16_38.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec29, 0.0);
            u_xlat16_38.x = u_xlat16_38.x;
        }
        u_xlat16_64.x = (-_MainLightShadowParams.x) + 1.0;
        u_xlat16_38.x = u_xlat16_38.x * _MainLightShadowParams.x + u_xlat16_64.x;
        u_xlatb80 = 0.0>=vs_TEXCOORD7.z;
        u_xlatb55.x = vs_TEXCOORD7.z>=1.0;
        u_xlatb80 = u_xlatb80 || u_xlatb55.x;
        u_xlat16_38.x = (u_xlatb80) ? 1.0 : u_xlat16_38.x;
        u_xlat20.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
        u_xlat80 = dot(u_xlat20.xyz, u_xlat20.xyz);
        u_xlat55 = u_xlat80 * _MainLightShadowParams.z + _MainLightShadowParams.w;
        u_xlat55 = clamp(u_xlat55, 0.0, 1.0);
        u_xlat16_64.x = (-u_xlat16_38.x) + 1.0;
        u_xlat16_38.x = u_xlat55 * u_xlat16_64.x + u_xlat16_38.x;
        u_xlatb55.x = _DebugLightingFeatureFlags==0;
        u_xlati5 = ivec4(uvec4(uint(_DebugLightingFeatureFlags) & uint(32u), uint(_DebugLightingFeatureFlags) & uint(1u), uint(_DebugLightingFeatureFlags) & uint(2u), uint(_DebugLightingFeatureFlags) & uint(4u)));
        u_xlatb5 = notEqual(u_xlati5, ivec4(0, 0, 0, 0));
        {
            bvec4 hlslcc_orTemp = u_xlatb5;
            hlslcc_orTemp.x = u_xlatb55.x || u_xlatb5.x;
            hlslcc_orTemp.y = u_xlatb55.x || u_xlatb5.y;
            hlslcc_orTemp.z = u_xlatb55.x || u_xlatb5.z;
            hlslcc_orTemp.w = u_xlatb55.x || u_xlatb5.w;
            u_xlatb5 = hlslcc_orTemp;
        }
        u_xlat16_13.xyz = u_xlat16_12.xxx * _MainLightColor.xyz;
        u_xlat16_13.xyz = (u_xlatb5.x) ? u_xlat16_13.xyz : _MainLightColor.xyz;
        u_xlat16_14.xyz = vec3(u_xlat16_88) * u_xlat16_10.xyz;
        u_xlat16_10.xyz = (u_xlatb5.x) ? u_xlat16_14.xyz : u_xlat16_10.xyz;
        u_xlat16_10.xyz = u_xlat16_4.xyz * u_xlat16_10.xyz;
        u_xlat21.xyz = u_xlat16_38.xxx * u_xlat16_13.xyz;
        u_xlat16_88 = dot(u_xlat2.xyz, _MainLightPosition.xyz);
        u_xlat16_88 = clamp(u_xlat16_88, 0.0, 1.0);
        u_xlat16_38.xyz = vec3(u_xlat16_88) * u_xlat21.xyz;
        u_xlatu55 = uint(_FPParams0.w);
        u_xlatu81 = min(u_xlatu55, 16u);
        u_xlat80 = u_xlat80 * _AdditionalShadowFadeParams.x + _AdditionalShadowFadeParams.y;
        u_xlat80 = clamp(u_xlat80, 0.0, 1.0);
        u_xlati98 = _DebugLightingFeatureFlags;
        u_xlat16_13.x = float(0.0);
        u_xlat16_13.y = float(0.0);
        u_xlat16_13.z = float(0.0);
        for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1<u_xlatu81 ; u_xlatu_loop_1++)
        {
            u_xlat47.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[int(u_xlatu_loop_1)].www + _AdditionalLightsPosition[int(u_xlatu_loop_1)].xyz;
            u_xlat22.x = dot(u_xlat47.xyz, u_xlat47.xyz);
            u_xlat22.x = max(u_xlat22.x, 6.10351562e-05);
            u_xlat48.x = inversesqrt(u_xlat22.x);
            u_xlat47.xyz = u_xlat47.xyz * u_xlat48.xxx;
            u_xlat48.x = float(1.0) / float(u_xlat22.x);
            u_xlat22.x = u_xlat22.x * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].x;
            u_xlat16_88 = (-u_xlat22.x) * u_xlat22.x + 1.0;
            u_xlat16_88 = max(u_xlat16_88, 0.0);
            u_xlat16_88 = u_xlat16_88 * u_xlat16_88;
            u_xlat22.x = u_xlat16_88 * u_xlat48.x;
            u_xlat16_88 = dot(_AdditionalLightsSpotDir[int(u_xlatu_loop_1)].xyz, u_xlat47.xyz);
            u_xlat16_88 = u_xlat16_88 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].z + _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].w;
            u_xlat16_88 = clamp(u_xlat16_88, 0.0, 1.0);
            u_xlat16_88 = u_xlat16_88 * u_xlat16_88;
            u_xlat22.x = u_xlat16_88 * u_xlat22.x;
            u_xlati48 = int(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
            u_xlatb74 = u_xlati48>=0;
            if(u_xlatb74){
                u_xlatb74 = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[int(u_xlatu_loop_1)].z);
                if(u_xlatb74){
                    u_xlatb23.xyz = greaterThanEqual(abs(u_xlat47.zzyz), abs(u_xlat47.xyxx)).xyz;
                    u_xlatb74 = u_xlatb23.y && u_xlatb23.x;
                    u_xlatb23.xyw = lessThan((-u_xlat47.zyzx), vec4(0.0, 0.0, 0.0, 0.0)).xyw;
                    u_xlat23.x = (u_xlatb23.x) ? float(5.0) : float(4.0);
                    u_xlat23.y = (u_xlatb23.y) ? float(3.0) : float(2.0);
                    u_xlat100 = u_xlatb23.w ? 1.0 : float(0.0);
                    u_xlat100 = (u_xlatb23.z) ? u_xlat23.y : u_xlat100;
                    u_xlat74 = (u_xlatb74) ? u_xlat23.x : u_xlat100;
                    u_xlat100 = trunc(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
                    u_xlat74 = u_xlat74 + u_xlat100;
                    u_xlati48 = int(u_xlat74);
                }
                u_xlati48 = int(u_xlati48 << (2 & int(0x1F)));
                u_xlat6 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati48 + 1)];
                u_xlat6 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati48] * vs_TEXCOORD1.xxxx + u_xlat6;
                u_xlat6 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati48 + 2)] * vs_TEXCOORD1.zzzz + u_xlat6;
                u_xlat6 = u_xlat6 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati48 + 3)];
                u_xlat48.xyz = u_xlat6.xyz / u_xlat6.www;
                u_xlatb23.x = 0.0<_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
                if(u_xlatb23.x){
                    u_xlatb23.x = 1.0==_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
                    if(u_xlatb23.x){
                        u_xlat6 = u_xlat48.xyxy + _AdditionalShadowOffset0;
                        vec3 txVec30 = vec3(u_xlat6.xy,u_xlat48.z);
                        u_xlat16_7.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec30, 0.0);
                        vec3 txVec31 = vec3(u_xlat6.zw,u_xlat48.z);
                        u_xlat16_7.y = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec31, 0.0);
                        u_xlat6 = u_xlat48.xyxy + _AdditionalShadowOffset1;
                        vec3 txVec32 = vec3(u_xlat6.xy,u_xlat48.z);
                        u_xlat16_7.z = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec32, 0.0);
                        vec3 txVec33 = vec3(u_xlat6.zw,u_xlat48.z);
                        u_xlat16_7.w = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec33, 0.0);
                        u_xlat16_88 = dot(u_xlat16_7, vec4(0.25, 0.25, 0.25, 0.25));
                    } else {
                        u_xlatb23.x = 2.0==_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
                        if(u_xlatb23.x){
                            u_xlat16_14.xy = u_xlat48.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                            u_xlat16_14.xy = floor(u_xlat16_14.xy);
                            u_xlat16_66.xy = u_xlat48.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_14.xy);
                            u_xlat16_6 = u_xlat16_66.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                            u_xlat16_7 = u_xlat16_6.xxzz * u_xlat16_6.xxzz;
                            u_xlat16_15.xy = u_xlat16_7.yw * vec2(0.0799999982, 0.0799999982);
                            u_xlat16_67.xy = u_xlat16_7.xz * vec2(0.5, 0.5) + (-u_xlat16_66.xy);
                            u_xlat16_16.xy = (-u_xlat16_66.xy) + vec2(1.0, 1.0);
                            u_xlat16_68.xy = min(u_xlat16_66.xy, vec2(0.0, 0.0));
                            u_xlat16_68.xy = (-u_xlat16_68.xy) * u_xlat16_68.xy + u_xlat16_16.xy;
                            u_xlat16_66.xy = max(u_xlat16_66.xy, vec2(0.0, 0.0));
                            u_xlat16_66.xy = (-u_xlat16_66.xy) * u_xlat16_66.xy + u_xlat16_6.yw;
                            u_xlat16_68.xy = u_xlat16_68.xy + vec2(1.0, 1.0);
                            u_xlat16_66.xy = u_xlat16_66.xy + vec2(1.0, 1.0);
                            u_xlat16_7.xy = u_xlat16_67.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_8.xy = u_xlat16_16.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_9.xy = u_xlat16_68.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_11.xy = u_xlat16_66.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_66.xy = u_xlat16_6.yw * vec2(0.159999996, 0.159999996);
                            u_xlat16_7.z = u_xlat16_9.x;
                            u_xlat16_7.w = u_xlat16_66.x;
                            u_xlat16_8.z = u_xlat16_11.x;
                            u_xlat16_8.w = u_xlat16_15.x;
                            u_xlat16_6 = u_xlat16_7.zwxz + u_xlat16_8.zwxz;
                            u_xlat16_9.z = u_xlat16_7.y;
                            u_xlat16_9.w = u_xlat16_66.y;
                            u_xlat16_11.z = u_xlat16_8.y;
                            u_xlat16_11.w = u_xlat16_15.y;
                            u_xlat16_15.xyz = u_xlat16_9.zyw + u_xlat16_11.zyw;
                            u_xlat16_16.xyz = u_xlat16_8.xzw / u_xlat16_6.zwy;
                            u_xlat16_16.xyz = u_xlat16_16.xyz + vec3(-2.5, -0.5, 1.5);
                            u_xlat16_17.xyz = u_xlat16_11.zyw / u_xlat16_15.xyz;
                            u_xlat16_17.xyz = u_xlat16_17.xyz + vec3(-2.5, -0.5, 1.5);
                            u_xlat16_7.xyz = u_xlat16_16.yxz * _AdditionalShadowmapSize.xxx;
                            u_xlat16_8.xyz = u_xlat16_17.xyz * _AdditionalShadowmapSize.yyy;
                            u_xlat16_7.w = u_xlat16_8.x;
                            u_xlat16_9 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.ywxw;
                            u_xlat16_66.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_7.zw;
                            u_xlat16_8.w = u_xlat16_7.y;
                            u_xlat16_7.yw = u_xlat16_8.yz;
                            u_xlat16_11 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.xyzy;
                            u_xlat16_8 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_8.wywz;
                            u_xlat16_7 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.xwzw;
                            u_xlat16_16 = u_xlat16_6.zwyz * u_xlat16_15.xxxy;
                            u_xlat16_17 = u_xlat16_6 * u_xlat16_15.yyzz;
                            u_xlat16_91 = u_xlat16_6.y * u_xlat16_15.z;
                            vec3 txVec34 = vec3(u_xlat16_9.xy,u_xlat48.z);
                            u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec34, 0.0);
                            vec3 txVec35 = vec3(u_xlat16_9.zw,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec35, 0.0);
                            u_xlat49 = u_xlat16_16.y * u_xlat16_49;
                            u_xlat23.x = u_xlat16_16.x * u_xlat16_23.x + u_xlat49;
                            vec3 txVec36 = vec3(u_xlat16_66.xy,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec36, 0.0);
                            u_xlat23.x = u_xlat16_16.z * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec37 = vec3(u_xlat16_8.xy,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec37, 0.0);
                            u_xlat23.x = u_xlat16_16.w * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec38 = vec3(u_xlat16_11.xy,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec38, 0.0);
                            u_xlat23.x = u_xlat16_17.x * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec39 = vec3(u_xlat16_11.zw,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec39, 0.0);
                            u_xlat23.x = u_xlat16_17.y * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec40 = vec3(u_xlat16_8.zw,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec40, 0.0);
                            u_xlat23.x = u_xlat16_17.z * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec41 = vec3(u_xlat16_7.xy,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec41, 0.0);
                            u_xlat23.x = u_xlat16_17.w * u_xlat16_49 + u_xlat23.x;
                            vec3 txVec42 = vec3(u_xlat16_7.zw,u_xlat48.z);
                            u_xlat16_49 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec42, 0.0);
                            u_xlat88 = u_xlat16_91 * u_xlat16_49 + u_xlat23.x;
                            u_xlat16_88 = u_xlat88;
                        } else {
                            u_xlat16_14.xy = u_xlat48.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                            u_xlat16_14.xy = floor(u_xlat16_14.xy);
                            u_xlat16_66.xy = u_xlat48.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_14.xy);
                            u_xlat16_6 = u_xlat16_66.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                            u_xlat16_7 = u_xlat16_6.xxzz * u_xlat16_6.xxzz;
                            u_xlat16_8.yw = u_xlat16_7.yw * vec2(0.0408160016, 0.0408160016);
                            u_xlat16_15.xy = u_xlat16_7.xz * vec2(0.5, 0.5) + (-u_xlat16_66.xy);
                            u_xlat16_67.xy = (-u_xlat16_66.xy) + vec2(1.0, 1.0);
                            u_xlat16_16.xy = min(u_xlat16_66.xy, vec2(0.0, 0.0));
                            u_xlat16_67.xy = (-u_xlat16_16.xy) * u_xlat16_16.xy + u_xlat16_67.xy;
                            u_xlat16_16.xy = max(u_xlat16_66.xy, vec2(0.0, 0.0));
                            u_xlat16_16.xy = (-u_xlat16_16.xy) * u_xlat16_16.xy + u_xlat16_6.yw;
                            u_xlat16_67.xy = u_xlat16_67.xy + vec2(2.0, 2.0);
                            u_xlat16_16.xy = u_xlat16_16.xy + vec2(2.0, 2.0);
                            u_xlat16_6.z = u_xlat16_16.x * 0.0816320032;
                            u_xlat16_7.xy = u_xlat16_15.yx * vec2(0.0816320032, 0.0816320032);
                            u_xlat16_15.xy = u_xlat16_67.xy * vec2(0.0816320032, 0.0816320032);
                            u_xlat16_7.z = u_xlat16_16.y * 0.0816320032;
                            u_xlat16_6.x = u_xlat16_7.y;
                            u_xlat16_6.yw = u_xlat16_66.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                            u_xlat16_9.xz = u_xlat16_66.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                            u_xlat16_9.y = u_xlat16_15.x;
                            u_xlat16_9.w = u_xlat16_8.y;
                            u_xlat16_6 = u_xlat16_6 + u_xlat16_9;
                            u_xlat16_7.yw = u_xlat16_66.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                            u_xlat16_8.xz = u_xlat16_66.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                            u_xlat16_8.y = u_xlat16_15.y;
                            u_xlat16_7 = u_xlat16_7 + u_xlat16_8;
                            u_xlat16_9 = u_xlat16_9 / u_xlat16_6;
                            u_xlat16_9 = u_xlat16_9 + vec4(-3.5, -1.5, 0.5, 2.5);
                            u_xlat16_8 = u_xlat16_8 / u_xlat16_7;
                            u_xlat16_8 = u_xlat16_8 + vec4(-3.5, -1.5, 0.5, 2.5);
                            u_xlat16_9 = u_xlat16_9.wxyz * _AdditionalShadowmapSize.xxxx;
                            u_xlat16_8 = u_xlat16_8.xwyz * _AdditionalShadowmapSize.yyyy;
                            u_xlat16_11.xzw = u_xlat16_9.yzw;
                            u_xlat16_11.y = u_xlat16_8.x;
                            u_xlat16_15 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_66.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.y = u_xlat16_11.y;
                            u_xlat16_11.y = u_xlat16_8.z;
                            u_xlat16_16 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_17.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.z = u_xlat16_11.y;
                            u_xlat16_18 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_9.xyxz;
                            u_xlat16_11.y = u_xlat16_8.w;
                            u_xlat16_19 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_69.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.w = u_xlat16_11.y;
                            u_xlat16_24.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_9.xw;
                            u_xlat16_8.xzw = u_xlat16_11.xzw;
                            u_xlat16_11 = u_xlat16_14.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_8.xyzy;
                            u_xlat16_76.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_8.wy;
                            u_xlat16_8.x = u_xlat16_9.x;
                            u_xlat16_14.xy = u_xlat16_14.xy * _AdditionalShadowmapSize.xy + u_xlat16_8.xy;
                            u_xlat16_8 = u_xlat16_6 * u_xlat16_7.xxxx;
                            u_xlat16_9 = u_xlat16_6 * u_xlat16_7.yyyy;
                            u_xlat16_23 = u_xlat16_6 * u_xlat16_7.zzzz;
                            u_xlat16_6 = u_xlat16_6 * u_xlat16_7.wwww;
                            vec3 txVec43 = vec3(u_xlat16_15.xy,u_xlat48.z);
                            u_xlat16_25 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec43, 0.0);
                            vec3 txVec44 = vec3(u_xlat16_15.zw,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec44, 0.0);
                            u_xlat51 = u_xlat16_8.y * u_xlat16_51;
                            u_xlat25 = u_xlat16_8.x * u_xlat16_25 + u_xlat51;
                            vec3 txVec45 = vec3(u_xlat16_66.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec45, 0.0);
                            u_xlat25 = u_xlat16_8.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec46 = vec3(u_xlat16_18.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec46, 0.0);
                            u_xlat25 = u_xlat16_8.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec47 = vec3(u_xlat16_16.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec47, 0.0);
                            u_xlat25 = u_xlat16_9.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec48 = vec3(u_xlat16_16.zw,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec48, 0.0);
                            u_xlat25 = u_xlat16_9.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec49 = vec3(u_xlat16_17.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec49, 0.0);
                            u_xlat25 = u_xlat16_9.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec50 = vec3(u_xlat16_18.zw,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec50, 0.0);
                            u_xlat25 = u_xlat16_9.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec51 = vec3(u_xlat16_19.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec51, 0.0);
                            u_xlat25 = u_xlat16_23.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec52 = vec3(u_xlat16_19.zw,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec52, 0.0);
                            u_xlat25 = u_xlat16_23.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec53 = vec3(u_xlat16_69.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec53, 0.0);
                            u_xlat25 = u_xlat16_23.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec54 = vec3(u_xlat16_24.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec54, 0.0);
                            u_xlat25 = u_xlat16_23.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec55 = vec3(u_xlat16_11.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec55, 0.0);
                            u_xlat25 = u_xlat16_6.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec56 = vec3(u_xlat16_11.zw,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec56, 0.0);
                            u_xlat25 = u_xlat16_6.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec57 = vec3(u_xlat16_76.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec57, 0.0);
                            u_xlat25 = u_xlat16_6.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec58 = vec3(u_xlat16_14.xy,u_xlat48.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec58, 0.0);
                            u_xlat88 = u_xlat16_6.w * u_xlat16_51 + u_xlat25;
                            u_xlat16_88 = u_xlat88;
                        }
                    }
                } else {
                    vec3 txVec59 = vec3(u_xlat48.xy,u_xlat48.z);
                    u_xlat16_88 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec59, 0.0);
                    u_xlat16_88 = u_xlat16_88;
                }
                u_xlat16_91 = 1.0 + (-_AdditionalShadowParams[int(u_xlatu_loop_1)].x);
                u_xlat16_88 = u_xlat16_88 * _AdditionalShadowParams[int(u_xlatu_loop_1)].x + u_xlat16_91;
                u_xlatb48 = 0.0>=u_xlat48.z;
                u_xlatb74 = u_xlat48.z>=1.0;
                u_xlatb48 = u_xlatb74 || u_xlatb48;
                u_xlat16_88 = (u_xlatb48) ? 1.0 : u_xlat16_88;
            } else {
                u_xlat16_88 = 1.0;
            }
            u_xlat16_91 = (-u_xlat16_88) + 1.0;
            u_xlat16_88 = u_xlat80 * u_xlat16_91 + u_xlat16_88;
            u_xlatb48 = u_xlati98==0;
            u_xlati74 = int(uint(uint(u_xlati98) & 32u));
            u_xlatb74 = u_xlati74!=0;
            u_xlatb48 = u_xlatb74 || u_xlatb48;
            u_xlat16_14.xyz = u_xlat16_12.xxx * _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
            u_xlat16_14.xyz = (bool(u_xlatb48)) ? u_xlat16_14.xyz : _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
            u_xlat22.x = u_xlat16_88 * u_xlat22.x;
            u_xlat22.xyz = u_xlat16_14.xyz * u_xlat22.xxx;
            u_xlat16_88 = dot(u_xlat2.xyz, u_xlat47.xyz);
            u_xlat16_88 = clamp(u_xlat16_88, 0.0, 1.0);
            u_xlat16_14.xyz = vec3(u_xlat16_88) * u_xlat22.xyz;
            u_xlat16_13.xyz = u_xlat16_14.xyz * u_xlat16_4.xyz + u_xlat16_13.xyz;
        }
        u_xlatu81 = uint(_FPParams1.w);
        if(u_xlatu81 != uint(0)) {
            u_xlat3.xy = u_xlat3.xy * _FPParams1.xy;
            u_xlatu3.xy = uvec2(u_xlat3.xy);
            u_xlatu98 = uint(_FPParams1.z);
            u_xlati3 = int(u_xlatu3.y) * int(u_xlatu98) + int(u_xlatu3.x);
            u_xlatu3.x = u_xlatu81 * uint(u_xlati3);
            u_xlat21.x = hlslcc_mtx4x4unity_MatrixV[0].z;
            u_xlat21.y = hlslcc_mtx4x4unity_MatrixV[1].z;
            u_xlat21.z = hlslcc_mtx4x4unity_MatrixV[2].z;
            u_xlat29 = dot((-u_xlat21.xyz), u_xlat20.xyz);
            u_xlatb20 = unity_OrthoParams.w==0.0;
            u_xlat46.x = log2(u_xlat29);
            u_xlat29 = (u_xlatb20) ? u_xlat46.x : u_xlat29;
            u_xlat29 = u_xlat29 * _FPParams0.x + _FPParams0.y;
            u_xlatu29 = uint(u_xlat29);
            u_xlatu29 = min(u_xlatu29, 4095u);
            u_xlati81 = int(u_xlatu81) + 2;
            u_xlatu20 = uint(u_xlati81) * u_xlatu29;
            u_xlatu29 = u_xlatu29 * uint(u_xlati81) + 2u;
            u_xlatu81 = uint(u_xlatu20 >> (2u & uint(0x1F)));
            u_xlati20.xy = ivec2(int_bitfieldExtract(int(u_xlatu20), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu20), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati72.xy = ivec2(uvec2(uint(u_xlati20.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu81)].w)), uint(u_xlati20.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu81)].y))));
            u_xlati21.xy = op_not(u_xlati20.xy);
            u_xlati21.xz = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu81)].z)), uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu81)].x))));
            u_xlati20.xz = ivec2(uvec2(uint(u_xlati72.x) | uint(u_xlati21.x), uint(u_xlati72.y) | uint(u_xlati21.z)));
            u_xlati81 = int(uint(uint(u_xlati20.y) & uint(u_xlati20.x)));
            u_xlati20.x = int(uint(uint(u_xlati21.y) & uint(u_xlati20.z)));
            u_xlatu81 = uint(uint(u_xlati81) | uint(u_xlati20.x));
            u_xlatu20 = uint(u_xlatu3.x >> (2u & uint(0x1F)));
            u_xlati46.xy = ivec2(int_bitfieldExtract(int(u_xlatu3.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu3.x), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati21.xy = ivec2(uvec2(uint(u_xlati46.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu20)].w)), uint(u_xlati46.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu20)].y))));
            u_xlati46.xz = op_not(u_xlati46.xy);
            u_xlati20.xy = ivec2(uvec2(uint(u_xlati46.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu20)].z)), uint(u_xlati46.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu20)].x))));
            u_xlati20.xy = ivec2(uvec2(uint(u_xlati20.x) | uint(u_xlati21.x), uint(u_xlati20.y) | uint(u_xlati21.y)));
            u_xlati3 = int(uint(uint(u_xlati46.y) & uint(u_xlati20.x)));
            u_xlati20.x = int(uint(uint(u_xlati46.z) & uint(u_xlati20.y)));
            u_xlati3 = int(uint(uint(u_xlati3) | uint(u_xlati20.x)));
            u_xlatu20 = uint(u_xlatu29 >> (2u & uint(0x1F)));
            u_xlati46.xy = ivec2(int_bitfieldExtract(int(u_xlatu29), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu29), int(1) & int(0x1F), int(1) & int(0x1F)));
            u_xlati21.xy = ivec2(uvec2(uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu20)].w)), uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu20)].y))));
            u_xlati46.xz = op_not(u_xlati46.xy);
            u_xlati20.xy = ivec2(uvec2(uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu20)].z)), uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu20)].x))));
            u_xlati20.xy = ivec2(uvec2(uint(u_xlati20.x) | uint(u_xlati21.x), uint(u_xlati20.y) | uint(u_xlati21.y)));
            u_xlati29 = int(uint(uint(u_xlati46.y) & uint(u_xlati20.x)));
            u_xlati20.x = int(uint(uint(u_xlati46.z) & uint(u_xlati20.y)));
            u_xlati29 = int(uint(uint(u_xlati29) | uint(u_xlati20.x)));
            u_xlati3 = int(uint(uint(u_xlati29) & uint(u_xlati3)));
            u_xlati29 = int(int(0xFFFFFFFFu) << (int(u_xlatu81) & int(0x1F)));
            u_xlati3 = int(uint(uint(u_xlati29) & uint(u_xlati3)));
            u_xlatu29 = uint(u_xlatu81 >> (16u & uint(0x1F)));
            u_xlatu29 = (-u_xlatu29) + 31u;
            u_xlatu29 = uint(4294967295u >> (u_xlatu29 & uint(0x1F)));
            u_xlati3 = int(uint(u_xlatu29 & uint(u_xlati3)));
        } else {
            u_xlati3 = 0;
        }
        u_xlati29 = _DebugLightingFeatureFlags;
        u_xlat16_14.xyz = u_xlat16_13.xyz;
        u_xlati81 = u_xlati3;
        while(true){
            if(u_xlati81 == 0) {break;}
            u_xlati20.x = 0 - u_xlati81;
            u_xlatu20 = uint(uint(u_xlati81) & uint(u_xlati20.x));
            u_xlat20.x = float(u_xlatu20);
            u_xlatu20 = uint(uint(floatBitsToUint(u_xlat20.x)) >> (23u & uint(0x1F)));
            u_xlati20.x = int(u_xlatu20) + int(0xFFFFFF81u);
            u_xlati46.x = int(1 << (u_xlati20.x & int(0x1F)));
            u_xlati81 = int(uint(uint(u_xlati81) ^ uint(u_xlati46.x)));
            u_xlati20.x = int(u_xlatu55) + u_xlati20.x;
            u_xlat46.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati20.x].www + _AdditionalLightsPosition[u_xlati20.x].xyz;
            u_xlat21.x = dot(u_xlat46.xyz, u_xlat46.xyz);
            u_xlat21.x = max(u_xlat21.x, 6.10351562e-05);
            u_xlat47.x = inversesqrt(u_xlat21.x);
            u_xlat46.xyz = u_xlat46.xyz * u_xlat47.xxx;
            u_xlat47.x = float(1.0) / float(u_xlat21.x);
            u_xlat21.x = u_xlat21.x * _AdditionalLightsAttenuation[u_xlati20.x].x;
            u_xlat16_88 = (-u_xlat21.x) * u_xlat21.x + 1.0;
            u_xlat16_88 = max(u_xlat16_88, 0.0);
            u_xlat16_88 = u_xlat16_88 * u_xlat16_88;
            u_xlat21.x = u_xlat16_88 * u_xlat47.x;
            u_xlat16_88 = dot(_AdditionalLightsSpotDir[u_xlati20.x].xyz, u_xlat46.xyz);
            u_xlat16_88 = u_xlat16_88 * _AdditionalLightsAttenuation[u_xlati20.x].z + _AdditionalLightsAttenuation[u_xlati20.x].w;
            u_xlat16_88 = clamp(u_xlat16_88, 0.0, 1.0);
            u_xlat16_88 = u_xlat16_88 * u_xlat16_88;
            u_xlat21.x = u_xlat16_88 * u_xlat21.x;
            u_xlati47 = int(_AdditionalShadowParams[u_xlati20.x].w);
            u_xlatb73 = u_xlati47>=0;
            if(u_xlatb73){
                u_xlatb73 = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[u_xlati20.x].z);
                if(u_xlatb73){
                    u_xlatb22.xyz = greaterThanEqual(abs(u_xlat46.zzyz), abs(u_xlat46.xyxx)).xyz;
                    u_xlatb73 = u_xlatb22.y && u_xlatb22.x;
                    u_xlatb22.xyw = lessThan((-u_xlat46.zyzx), vec4(0.0, 0.0, 0.0, 0.0)).xyw;
                    u_xlat22.x = (u_xlatb22.x) ? float(5.0) : float(4.0);
                    u_xlat22.y = (u_xlatb22.y) ? float(3.0) : float(2.0);
                    u_xlat99 = u_xlatb22.w ? 1.0 : float(0.0);
                    u_xlat99 = (u_xlatb22.z) ? u_xlat22.y : u_xlat99;
                    u_xlat73 = (u_xlatb73) ? u_xlat22.x : u_xlat99;
                    u_xlat99 = trunc(_AdditionalShadowParams[u_xlati20.x].w);
                    u_xlat73 = u_xlat73 + u_xlat99;
                    u_xlati47 = int(u_xlat73);
                }
                u_xlati47 = int(u_xlati47 << (2 & int(0x1F)));
                u_xlat6 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati47 + 1)];
                u_xlat6 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati47] * vs_TEXCOORD1.xxxx + u_xlat6;
                u_xlat6 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati47 + 2)] * vs_TEXCOORD1.zzzz + u_xlat6;
                u_xlat6 = u_xlat6 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati47 + 3)];
                u_xlat47.xyz = u_xlat6.xyz / u_xlat6.www;
                u_xlatb22.x = 0.0<_AdditionalShadowParams[u_xlati20.x].y;
                if(u_xlatb22.x){
                    u_xlatb22.x = 1.0==_AdditionalShadowParams[u_xlati20.x].y;
                    if(u_xlatb22.x){
                        u_xlat6 = u_xlat47.xyxy + _AdditionalShadowOffset0;
                        vec3 txVec60 = vec3(u_xlat6.xy,u_xlat47.z);
                        u_xlat16_7.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec60, 0.0);
                        vec3 txVec61 = vec3(u_xlat6.zw,u_xlat47.z);
                        u_xlat16_7.y = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec61, 0.0);
                        u_xlat6 = u_xlat47.xyxy + _AdditionalShadowOffset1;
                        vec3 txVec62 = vec3(u_xlat6.xy,u_xlat47.z);
                        u_xlat16_7.z = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec62, 0.0);
                        vec3 txVec63 = vec3(u_xlat6.zw,u_xlat47.z);
                        u_xlat16_7.w = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec63, 0.0);
                        u_xlat16_88 = dot(u_xlat16_7, vec4(0.25, 0.25, 0.25, 0.25));
                    } else {
                        u_xlatb22.x = 2.0==_AdditionalShadowParams[u_xlati20.x].y;
                        if(u_xlatb22.x){
                            u_xlat16_15.xy = u_xlat47.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                            u_xlat16_15.xy = floor(u_xlat16_15.xy);
                            u_xlat16_67.xy = u_xlat47.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_15.xy);
                            u_xlat16_6 = u_xlat16_67.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                            u_xlat16_7 = u_xlat16_6.xxzz * u_xlat16_6.xxzz;
                            u_xlat16_16.xy = u_xlat16_7.yw * vec2(0.0799999982, 0.0799999982);
                            u_xlat16_68.xy = u_xlat16_7.xz * vec2(0.5, 0.5) + (-u_xlat16_67.xy);
                            u_xlat16_17.xy = (-u_xlat16_67.xy) + vec2(1.0, 1.0);
                            u_xlat16_69.xy = min(u_xlat16_67.xy, vec2(0.0, 0.0));
                            u_xlat16_69.xy = (-u_xlat16_69.xy) * u_xlat16_69.xy + u_xlat16_17.xy;
                            u_xlat16_67.xy = max(u_xlat16_67.xy, vec2(0.0, 0.0));
                            u_xlat16_67.xy = (-u_xlat16_67.xy) * u_xlat16_67.xy + u_xlat16_6.yw;
                            u_xlat16_69.xy = u_xlat16_69.xy + vec2(1.0, 1.0);
                            u_xlat16_67.xy = u_xlat16_67.xy + vec2(1.0, 1.0);
                            u_xlat16_7.xy = u_xlat16_68.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_8.xy = u_xlat16_17.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_9.xy = u_xlat16_69.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_11.xy = u_xlat16_67.xy * vec2(0.159999996, 0.159999996);
                            u_xlat16_67.xy = u_xlat16_6.yw * vec2(0.159999996, 0.159999996);
                            u_xlat16_7.z = u_xlat16_9.x;
                            u_xlat16_7.w = u_xlat16_67.x;
                            u_xlat16_8.z = u_xlat16_11.x;
                            u_xlat16_8.w = u_xlat16_16.x;
                            u_xlat16_6 = u_xlat16_7.zwxz + u_xlat16_8.zwxz;
                            u_xlat16_9.z = u_xlat16_7.y;
                            u_xlat16_9.w = u_xlat16_67.y;
                            u_xlat16_11.z = u_xlat16_8.y;
                            u_xlat16_11.w = u_xlat16_16.y;
                            u_xlat16_16.xyz = u_xlat16_9.zyw + u_xlat16_11.zyw;
                            u_xlat16_17.xyz = u_xlat16_8.xzw / u_xlat16_6.zwy;
                            u_xlat16_17.xyz = u_xlat16_17.xyz + vec3(-2.5, -0.5, 1.5);
                            u_xlat16_18.xyz = u_xlat16_11.zyw / u_xlat16_16.xyz;
                            u_xlat16_18.xyz = u_xlat16_18.xyz + vec3(-2.5, -0.5, 1.5);
                            u_xlat16_7.xyz = u_xlat16_17.yxz * _AdditionalShadowmapSize.xxx;
                            u_xlat16_8.xyz = u_xlat16_18.xyz * _AdditionalShadowmapSize.yyy;
                            u_xlat16_7.w = u_xlat16_8.x;
                            u_xlat16_9 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.ywxw;
                            u_xlat16_67.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_7.zw;
                            u_xlat16_8.w = u_xlat16_7.y;
                            u_xlat16_7.yw = u_xlat16_8.yz;
                            u_xlat16_11 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.xyzy;
                            u_xlat16_8 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_8.wywz;
                            u_xlat16_7 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_7.xwzw;
                            u_xlat16_17 = u_xlat16_6.zwyz * u_xlat16_16.xxxy;
                            u_xlat16_18 = u_xlat16_6 * u_xlat16_16.yyzz;
                            u_xlat16_91 = u_xlat16_6.y * u_xlat16_16.z;
                            vec3 txVec64 = vec3(u_xlat16_9.xy,u_xlat47.z);
                            u_xlat16_22.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec64, 0.0);
                            vec3 txVec65 = vec3(u_xlat16_9.zw,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec65, 0.0);
                            u_xlat48.x = u_xlat16_17.y * u_xlat16_48;
                            u_xlat22.x = u_xlat16_17.x * u_xlat16_22.x + u_xlat48.x;
                            vec3 txVec66 = vec3(u_xlat16_67.xy,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec66, 0.0);
                            u_xlat22.x = u_xlat16_17.z * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec67 = vec3(u_xlat16_8.xy,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec67, 0.0);
                            u_xlat22.x = u_xlat16_17.w * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec68 = vec3(u_xlat16_11.xy,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec68, 0.0);
                            u_xlat22.x = u_xlat16_18.x * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec69 = vec3(u_xlat16_11.zw,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec69, 0.0);
                            u_xlat22.x = u_xlat16_18.y * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec70 = vec3(u_xlat16_8.zw,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec70, 0.0);
                            u_xlat22.x = u_xlat16_18.z * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec71 = vec3(u_xlat16_7.xy,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec71, 0.0);
                            u_xlat22.x = u_xlat16_18.w * u_xlat16_48 + u_xlat22.x;
                            vec3 txVec72 = vec3(u_xlat16_7.zw,u_xlat47.z);
                            u_xlat16_48 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec72, 0.0);
                            u_xlat88 = u_xlat16_91 * u_xlat16_48 + u_xlat22.x;
                            u_xlat16_88 = u_xlat88;
                        } else {
                            u_xlat16_15.xy = u_xlat47.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                            u_xlat16_15.xy = floor(u_xlat16_15.xy);
                            u_xlat16_67.xy = u_xlat47.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_15.xy);
                            u_xlat16_6 = u_xlat16_67.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                            u_xlat16_7 = u_xlat16_6.xxzz * u_xlat16_6.xxzz;
                            u_xlat16_8.yw = u_xlat16_7.yw * vec2(0.0408160016, 0.0408160016);
                            u_xlat16_16.xy = u_xlat16_7.xz * vec2(0.5, 0.5) + (-u_xlat16_67.xy);
                            u_xlat16_68.xy = (-u_xlat16_67.xy) + vec2(1.0, 1.0);
                            u_xlat16_17.xy = min(u_xlat16_67.xy, vec2(0.0, 0.0));
                            u_xlat16_68.xy = (-u_xlat16_17.xy) * u_xlat16_17.xy + u_xlat16_68.xy;
                            u_xlat16_17.xy = max(u_xlat16_67.xy, vec2(0.0, 0.0));
                            u_xlat16_17.xy = (-u_xlat16_17.xy) * u_xlat16_17.xy + u_xlat16_6.yw;
                            u_xlat16_68.xy = u_xlat16_68.xy + vec2(2.0, 2.0);
                            u_xlat16_17.xy = u_xlat16_17.xy + vec2(2.0, 2.0);
                            u_xlat16_6.z = u_xlat16_17.x * 0.0816320032;
                            u_xlat16_7.xy = u_xlat16_16.yx * vec2(0.0816320032, 0.0816320032);
                            u_xlat16_16.xy = u_xlat16_68.xy * vec2(0.0816320032, 0.0816320032);
                            u_xlat16_7.z = u_xlat16_17.y * 0.0816320032;
                            u_xlat16_6.x = u_xlat16_7.y;
                            u_xlat16_6.yw = u_xlat16_67.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                            u_xlat16_9.xz = u_xlat16_67.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                            u_xlat16_9.y = u_xlat16_16.x;
                            u_xlat16_9.w = u_xlat16_8.y;
                            u_xlat16_6 = u_xlat16_6 + u_xlat16_9;
                            u_xlat16_7.yw = u_xlat16_67.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                            u_xlat16_8.xz = u_xlat16_67.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                            u_xlat16_8.y = u_xlat16_16.y;
                            u_xlat16_7 = u_xlat16_7 + u_xlat16_8;
                            u_xlat16_9 = u_xlat16_9 / u_xlat16_6;
                            u_xlat16_9 = u_xlat16_9 + vec4(-3.5, -1.5, 0.5, 2.5);
                            u_xlat16_8 = u_xlat16_8 / u_xlat16_7;
                            u_xlat16_8 = u_xlat16_8 + vec4(-3.5, -1.5, 0.5, 2.5);
                            u_xlat16_9 = u_xlat16_9.wxyz * _AdditionalShadowmapSize.xxxx;
                            u_xlat16_8 = u_xlat16_8.xwyz * _AdditionalShadowmapSize.yyyy;
                            u_xlat16_11.xzw = u_xlat16_9.yzw;
                            u_xlat16_11.y = u_xlat16_8.x;
                            u_xlat16_16 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_67.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.y = u_xlat16_11.y;
                            u_xlat16_11.y = u_xlat16_8.z;
                            u_xlat16_17 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_18.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.z = u_xlat16_11.y;
                            u_xlat16_19 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_9.xyxz;
                            u_xlat16_11.y = u_xlat16_8.w;
                            u_xlat16_22 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                            u_xlat16_70.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                            u_xlat16_9.w = u_xlat16_11.y;
                            u_xlat16_24.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_9.xw;
                            u_xlat16_8.xzw = u_xlat16_11.xzw;
                            u_xlat16_11 = u_xlat16_15.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_8.xyzy;
                            u_xlat16_76.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_8.wy;
                            u_xlat16_8.x = u_xlat16_9.x;
                            u_xlat16_15.xy = u_xlat16_15.xy * _AdditionalShadowmapSize.xy + u_xlat16_8.xy;
                            u_xlat16_8 = u_xlat16_6 * u_xlat16_7.xxxx;
                            u_xlat16_9 = u_xlat16_6 * u_xlat16_7.yyyy;
                            u_xlat16_23 = u_xlat16_6 * u_xlat16_7.zzzz;
                            u_xlat16_6 = u_xlat16_6 * u_xlat16_7.wwww;
                            vec3 txVec73 = vec3(u_xlat16_16.xy,u_xlat47.z);
                            u_xlat16_25 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec73, 0.0);
                            vec3 txVec74 = vec3(u_xlat16_16.zw,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec74, 0.0);
                            u_xlat51 = u_xlat16_8.y * u_xlat16_51;
                            u_xlat25 = u_xlat16_8.x * u_xlat16_25 + u_xlat51;
                            vec3 txVec75 = vec3(u_xlat16_67.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec75, 0.0);
                            u_xlat25 = u_xlat16_8.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec76 = vec3(u_xlat16_19.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec76, 0.0);
                            u_xlat25 = u_xlat16_8.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec77 = vec3(u_xlat16_17.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec77, 0.0);
                            u_xlat25 = u_xlat16_9.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec78 = vec3(u_xlat16_17.zw,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec78, 0.0);
                            u_xlat25 = u_xlat16_9.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec79 = vec3(u_xlat16_18.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec79, 0.0);
                            u_xlat25 = u_xlat16_9.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec80 = vec3(u_xlat16_19.zw,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec80, 0.0);
                            u_xlat25 = u_xlat16_9.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec81 = vec3(u_xlat16_22.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec81, 0.0);
                            u_xlat25 = u_xlat16_23.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec82 = vec3(u_xlat16_22.zw,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec82, 0.0);
                            u_xlat25 = u_xlat16_23.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec83 = vec3(u_xlat16_70.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec83, 0.0);
                            u_xlat25 = u_xlat16_23.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec84 = vec3(u_xlat16_24.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec84, 0.0);
                            u_xlat25 = u_xlat16_23.w * u_xlat16_51 + u_xlat25;
                            vec3 txVec85 = vec3(u_xlat16_11.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec85, 0.0);
                            u_xlat25 = u_xlat16_6.x * u_xlat16_51 + u_xlat25;
                            vec3 txVec86 = vec3(u_xlat16_11.zw,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec86, 0.0);
                            u_xlat25 = u_xlat16_6.y * u_xlat16_51 + u_xlat25;
                            vec3 txVec87 = vec3(u_xlat16_76.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec87, 0.0);
                            u_xlat25 = u_xlat16_6.z * u_xlat16_51 + u_xlat25;
                            vec3 txVec88 = vec3(u_xlat16_15.xy,u_xlat47.z);
                            u_xlat16_51 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec88, 0.0);
                            u_xlat88 = u_xlat16_6.w * u_xlat16_51 + u_xlat25;
                            u_xlat16_88 = u_xlat88;
                        }
                    }
                } else {
                    vec3 txVec89 = vec3(u_xlat47.xy,u_xlat47.z);
                    u_xlat16_88 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec89, 0.0);
                    u_xlat16_88 = u_xlat16_88;
                }
                u_xlat16_91 = 1.0 + (-_AdditionalShadowParams[u_xlati20.x].x);
                u_xlat16_88 = u_xlat16_88 * _AdditionalShadowParams[u_xlati20.x].x + u_xlat16_91;
                u_xlatb47 = 0.0>=u_xlat47.z;
                u_xlatb73 = u_xlat47.z>=1.0;
                u_xlatb47 = u_xlatb73 || u_xlatb47;
                u_xlat16_88 = (u_xlatb47) ? 1.0 : u_xlat16_88;
            } else {
                u_xlat16_88 = 1.0;
            }
            u_xlat16_91 = (-u_xlat16_88) + 1.0;
            u_xlat16_88 = u_xlat80 * u_xlat16_91 + u_xlat16_88;
            u_xlatb47 = u_xlati29==0;
            u_xlati73 = int(uint(uint(u_xlati29) & 32u));
            u_xlatb73 = u_xlati73!=0;
            u_xlatb47 = u_xlatb73 || u_xlatb47;
            u_xlat16_15.xyz = u_xlat16_12.xxx * _AdditionalLightsColor[u_xlati20.x].xyz;
            u_xlat16_15.xyz = (bool(u_xlatb47)) ? u_xlat16_15.xyz : _AdditionalLightsColor[u_xlati20.x].xyz;
            u_xlat20.x = u_xlat16_88 * u_xlat21.x;
            u_xlat21.xyz = u_xlat16_15.xyz * u_xlat20.xxx;
            u_xlat16_88 = dot(u_xlat2.xyz, u_xlat46.xyz);
            u_xlat16_88 = clamp(u_xlat16_88, 0.0, 1.0);
            u_xlat16_15.xyz = vec3(u_xlat16_88) * u_xlat21.xyz;
            u_xlat16_14.xyz = u_xlat16_15.xyz * u_xlat16_4.xyz + u_xlat16_14.xyz;
        }
        u_xlatb2 = _DebugLightingFeatureFlags!=32;
        u_xlat16_13.xyz = (u_xlatb5.y) ? u_xlat16_10.xyz : vec3(0.0, 0.0, 0.0);
        u_xlat16_12.xyz = u_xlat16_38.xyz * u_xlat16_4.xyz + u_xlat16_13.xyz;
        u_xlat16_12.xyz = (u_xlatb5.z) ? u_xlat16_12.xyz : u_xlat16_13.xyz;
        u_xlat16_13.xyz = u_xlat16_14.xyz + u_xlat16_12.xyz;
        u_xlat16_12.xyz = (u_xlatb5.w) ? u_xlat16_13.xyz : u_xlat16_12.xyz;
        u_xlat16_0.xyz = (bool(u_xlatb2)) ? u_xlat16_12.xyz : u_xlat16_10.xyz;
        u_xlat16_0.w = u_xlat16_1.x;
    }
    u_xlatb2 = _Surface==1.0;
    u_xlat16_0.w = (u_xlatb2) ? u_xlat16_0.w : 1.0;
    SV_Target0 = u_xlat16_0;
    return;
}


// Keywords: DEBUG_DISPLAY _ADDITIONAL_LIGHT_SHADOWS _FORWARD_PLUS _MAIN_LIGHT_SHADOWS _SCREEN_SPACE_OCCLUSION _SHADOWS_SOFT
// 